This is the mail archive of the
mailing list for the glibc project.
[email@example.com] libc/2632: backtrace function on arm-linuxdoesn't work
- To: libc-alpha at sources dot redhat dot com
- Subject: [firstname.lastname@example.org] libc/2632: backtrace function on arm-linuxdoesn't work
- From: Andreas Jaeger <aj at suse dot de>
- Date: Sat, 10 Nov 2001 17:23:38 +0100
- Cc: ben at somanetworks dot com
can you comment on bug report that we received for ARM, please?
libc/2632: backtrace function on arm-linux doesn't work
- To: libc-gnats at gnu dot org, gnats-admin at gnu dot org
- Subject: libc/2632: backtrace function on arm-linux doesn't work
- From: ben at somanetworks dot com
- Date: Mon, 05 Nov 2001 19:57:22 -0500
>Synopsis: backtrace function on arm-linux doesn't work
>Arrival-Date: Mon Nov 05 19:57:22 -0500 2001
>Originator: Ben Gamsa
SOMA Networks, Inc
gcc version 2.95.2 19991024
Using the backtrace() function returns an empty list, or
sometimes with a single null entry.
The code appears to come from sysdeps/generic/backtrace.c
The top_frame variable is correctly set to the top-of-frame
but the code assumes that the address it gets points to the
beginning of the frame structure. However, on the arm, it
actually points just past the frame structure. The
ADVANCE_STACK_FRAME correctly deals with this by
subtracting 1 from the pointer to the frame, but the very
first frame doesn't appear to have any compensation code.