This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[] libc/2632: backtrace function on arm-linuxdoesn't work

Arm developers,

can you comment on bug report that we received for ARM, please?


   libc/2632: backtrace function on arm-linux doesn't work

>Number:         2632
>Category:       libc
>Synopsis:       backtrace function on arm-linux doesn't work
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    libc-gnats
>State:          open
>Class:          sw-bug
>Submitter-Id:   gnatsweb
>Arrival-Date:   Mon Nov 05 19:57:22 -0500 2001
>Originator:     Ben Gamsa
>Release:        2.2.4
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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]