[Dwarf-Discuss] Confusion about .debug_str_offsets[.dwo]

David Anderson davea42@linuxmail.org
Sun Aug 30 23:59:14 GMT 2020

If a DW_UT_split_compile in 'test.dwp'
 ? has a compilation unit? DW_TAG_compile unit
 ? with strings and referencing via DW_FORM_strx1
 ? And there is a test.dwp with a .debug_str_offsets.dwo
 ? the compile unit will not have a
 ? DW_AT_str_offsets_base (by sec 3.1.3)
 ? but the DW_AT_str_offsets_base from the 'test' skeleton
 ? will have the DW_AT_str_offsets_base for
 ? .debug_str_offsets.dwo.

If skeleton in executable 'test' has a .debug_str_offsets
 ? and a DW_TAG_skeleton_unit
 ? it may have strings referenced with DW_FORM_strx1 and
 ? DW_AT_str_offsets_base then..? How is one to refer
 ? to the strings given the content of .debug_str_offsets
 ? will surely not match .debug_str_offsets.dwo

Section 3.1.2 , on skeleton units:
 ?A skeleton compilation unit may have additional attributes,
 ?which are the same as for conventional compilation unit
 ?entries except as noted, from among the following:

Does that mean ONLY the following units?
DW_AT_dwo_name is specifically allowed in the skeleton.
It might be DW_FORM_strx1? Right?

Two .debug_str_offsets? (one .dwo)
tables, one base.? How could that work?

I'll think about this further, but if anyone
would care to clarify this it would be great.

David Anderson

More information about the Dwarf-discuss mailing list