summaryrefslogtreecommitdiff
path: root/libc-parts/_exit.c
diff options
context:
space:
mode:
authorneal <neal>2008-07-04 08:55:52 +0000
committerneal <neal>2008-07-04 08:55:52 +0000
commitdbe6fd98d3e073fce2225680bb67cd8313a5dbf5 (patch)
tree7e06e9e07a1566f8b079d838d6e921a45f7b5b4d /libc-parts/_exit.c
parent241960676bb662addd5f0a14117ae20283bf85f5 (diff)
2008-07-04 Neal H. Walfield <neal@gnu.org>
* _exit.c (_exit): Print a backtrace.
Diffstat (limited to 'libc-parts/_exit.c')
-rw-r--r--libc-parts/_exit.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libc-parts/_exit.c b/libc-parts/_exit.c
index ac32e4f..2bec189 100644
--- a/libc-parts/_exit.c
+++ b/libc-parts/_exit.c
@@ -33,6 +33,17 @@ _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");
+
+
extern struct hurd_startup_data *__hurd_startup_data;
/* We try to kill the activity and, if that fails, the main