symtab/1975: gdb reports DW_FORM_strp pointing outside of .debug_str

jimb@redhat.com jimb@redhat.com
Fri Jan 20 22:06:00 GMT 2006


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



More information about the Gdb-prs mailing list