This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
Re: symtab/1975: gdb reports DW_FORM_strp pointing outside of .debug_str
- From: jimb at redhat dot com
- To: gdb-prs at sources dot redhat dot com, kumar__v at hotmail dot com, nobody at sources dot redhat dot com
- Date: 20 Jan 2006 22:06:14 -0000
- Subject: Re: symtab/1975: gdb reports DW_FORM_strp pointing outside of .debug_str
- Reply-to: jimb at redhat dot com, gdb-prs at sources dot redhat dot com, kumar__v at hotmail dot com, nobody at sources dot redhat dot com, gdb-gnats at sources dot redhat dot com
Synopsis: gdb reports DW_FORM_strp pointing outside of .debug_str
State-Changed-From-To: feedback->closed
State-Changed-By: jimb
State-Changed-When: Fri Jan 20 22:06:13 2006
State-Changed-Why:
Dave Mazik send me an executable that caused GDB to complain. When I apply 'readelf -wi' to it to display the Dwarf debugging info, and look at the indirect strings (that is, strings using DW_FORM_strp) it contains, I see lots of entries like this towards the beginning of the file:
DW_AT_name : (indirect string, offset: 0x150e): ecute_cfa_program
This is almost certainly supposed to be "execute_cfa_program", but you can see that the offset in the DW_FORM_strp attribute is a bit off.
Later down in the file, we see a bunch of this:
DW_AT_name : (indirect string, offset: 0xd145): <offset is too big>
Here, readelf -wi is complaining about the same thing GDB is complaining about.
So this is clearly an upstream (assembler; linker) problem, not GDB's problem. You could try running readelf -wi on the .o files to see if the offsets are right there; if they are, then it's clearly a linker problem. If you're running the latest linker, then you need to file a linker bug report.
http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gdb&pr=1975