summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-12-17 15:06:48 +0100
committerNeal H. Walfield <neal@gnu.org>2008-12-17 15:06:48 +0100
commit326af31495882335c1f464abb7759df3bb4e3b82 (patch)
treea80f9cf82726d08b64a24d26bb1d6d059982c63b
parent6375b6cdd0732bfc3f9a1cca5a2e03f44eef8ec5 (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/ChangeLog7
-rw-r--r--libc-parts/_exit.c12
-rw-r--r--libc-parts/panic.c11
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 (;;)