Bug 10328

Summary: 6.8 broken for ARM targets (no backtrace, SIG32, etc.)
Product: gdb Reporter: Grant Edwards <grant.b.edwards>
Component: gdbAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED OBSOLETE    
Severity: critical CC: gdb-prs, will.newton
Priority: P2    
Version: 6.8   
Target Milestone: 6.8   
Host: i386-pc-linux-gnu Target: arm-linux-uclibc
Build: Last reconfirmed: 2013-11-05 00:00:00

Description Grant Edwards 2009-06-24 14:38:27 UTC
Gdb 6.8 just plain doesn't work on ARM targets.  If a program
is stopped in anything other than user-code (e.g. it's blocked
in read() or accept() there's no backtrace.  If the application
is multi-threaded you see SIG32 messages. There are also
reports of other odd behavior. Using 6.7.1 instead of 6.8
results in everything working.

http://news.gmane.org/find-root.php?message_id=%3ch1omae%24i07%241%40ger.gmane.org%3e
http://news.gmane.org/find-root.php?message_id=%3ch1pgtf%24oc2%241%40ger.gmane.org%3e
http://news.gmane.org/find-root.php?message_id=%3ch1p5br%2411r%241%40ger.gmane.org%3e

If you do a bit of searching you can find various other reports
that 6.8 doesn't work on ARM and 6.7.1 works fine.

My guess is that the problem underlying all of this is gdb's
failure to figure out what library files are mapped.  See the
second link above for an example, but when you compare the
output of "info files" to that of /proc/<pid>/maps, you'll see
that library files (such as libc and libpthread) show up in the
/proc/<pid>/maps but not in "info files".  My guess is that
causes the lack of backtrace, the SIG32, and all the other
problems that people see on ARM using 6.8.
Comment 1 Will Newton 2013-11-05 11:29:18 UTC
Do you still see these problems with recent releases?
Comment 2 Will Newton 2014-07-19 13:18:00 UTC
Closing due to lack of response and age of the gdb in question.