Found the problem. When gcc creates the .debug_info section entry for 
DW_FORM_strp type strings it defines an address rather than an offset. It 
relies on the fact that .debug_str gets loaded in the right place to make this 
address behave like an offset. This is fine for cases where the file is loaded 
but when it's being read by things like the libdwarf routines the necessary 
relocation is not applied and all the offsets are zero and as a result the same 
variable name will be returned for every strp type entity.
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to