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