diff options
author | Neal H. Walfield <neal@gnu.org> | 2008-12-17 15:06:48 +0100 |
---|---|---|
committer | Neal H. Walfield <neal@gnu.org> | 2008-12-17 15:06:48 +0100 |
commit | 326af31495882335c1f464abb7759df3bb4e3b82 (patch) | |
tree | a80f9cf82726d08b64a24d26bb1d6d059982c63b | |
parent | 6375b6cdd0732bfc3f9a1cca5a2e03f44eef8ec5 (diff) |
Use backtrace_print.
2008-12-17 Neal H. Walfield <neal@gnu.org>
* panic.c: Include <backtrace.h>
(panic_): Use backtrace print.
* _exit.c: Include <backtrace.h>
(_exit): Use backtrace print.
-rw-r--r-- | libc-parts/ChangeLog | 7 | ||||
-rw-r--r-- | libc-parts/_exit.c | 12 | ||||
-rw-r--r-- | libc-parts/panic.c | 11 |
3 files changed, 11 insertions, 19 deletions
diff --git a/libc-parts/ChangeLog b/libc-parts/ChangeLog index d70fedf..3ca7496 100644 --- a/libc-parts/ChangeLog +++ b/libc-parts/ChangeLog @@ -1,3 +1,10 @@ +2008-12-17 Neal H. Walfield <neal@gnu.org> + + * panic.c: Include <backtrace.h> + (panic_): Use backtrace print. + * _exit.c: Include <backtrace.h> + (_exit): Use backtrace print. + 2008-12-12 Neal H. Walfield <neal@gnu.org> * t-setjmp.c (RM_INTERN): Define. diff --git a/libc-parts/_exit.c b/libc-parts/_exit.c index 6e07898..47ff758 100644 --- a/libc-parts/_exit.c +++ b/libc-parts/_exit.c @@ -21,6 +21,7 @@ #include <hurd/stddef.h> #include <hurd/startup.h> #include <viengoos/folio.h> +#include <backtrace.h> int __global_zero; @@ -33,16 +34,7 @@ _exit (int ret) asm ("int $3"); # endif #else - extern int backtrace (void **array, int size); - - void *a[10]; - int count = backtrace (a, sizeof (a) / sizeof (a[0])); - int i; - s_printf ("_exit called from: "); - for (i = 0; i < count; i ++) - s_printf ("%p ", a[i]); - s_printf ("\n"); - + backtrace_print (); extern struct hurd_startup_data *__hurd_startup_data; diff --git a/libc-parts/panic.c b/libc-parts/panic.c index 4e83f62..71ef763 100644 --- a/libc-parts/panic.c +++ b/libc-parts/panic.c @@ -21,13 +21,12 @@ #include <hurd/stddef.h> #include <stdio.h> #include <stdarg.h> +#include <backtrace.h> extern char *program_name; extern void _exit (int); -extern int backtrace (void **array, int size); - void panic_ (const char *func, int line, const char *fmt, ...) { @@ -40,13 +39,7 @@ panic_ (const char *func, int line, const char *fmt, ...) s_printf ("\n"); va_end (ap); - void *a[10]; - int count = backtrace (a, sizeof (a) / sizeof (a[0])); - int i; - s_printf ("Backtrace: "); - for (i = 0; i < count; i ++) - s_printf ("%p ", a[i]); - s_printf ("\n"); + backtrace_print (); _exit (127); for (;;) |