|
DWARF Standard
|
200709.1 |
Simon Marchi |
DW_AT_rnglists_base in DW_TAG_skeleton_unit |
Error |
Accepted |
Simon Marchi |
Section 3.1.2, pg 66-67
Background
----------
When using split DWARF (DW_TAG_skeleton_unit + .dwo), the intent is to
have DW_AT_rnglists_base in the skeleton unit and inherited by the split
full compulation unit. In section 3.1.3, it is mentioned (in
non-normative text) that DW_AT_rnglists_base is inherited by the split
full compilation unit from the corresponding skeleton compilation unit.
However, section 3.1.2 doesn't mention DW_AT_rnglists_base in the list
of attributes a skeleton compilation unit can have. The list of
acceptable attributes by tag (Appendix A) does mention
DW_AT_rnglists_base for DW_TAG_skeleton_unit though.
I believe this is just an oversight, where the list in section 3.1.2 is
missing DW_AT_rnglists_base.
Note that there is also issue 210310.1 ("Clarify DW_AT_rnglists_base and
DW_FORM_rnglistx in Split DWARF") [1] that is related to
DW_AT_rnglists_base in split-DWARF context, but I believe they don't
conflict. If accepted, that issue would make it so the skeleton doesn't
inherit the DW_AT_rnglists_base value from the skeleton. Instead, it
would refer to the .debug_rnglists.dwo section in the split file, hence
not need a DW_AT_rnglists_base value at all. But the
DW_TAG_skeleton_unit in the main file may still need a
DW_AT_rnglists_base for its own use, which is what the present issue is
about.
[1] https://dwarfstd.org/issues/210310.1.html
Proposed changes
----------------
Section 3.1.2, page 67:
- Add "8. A DW_AT_rnglists_base attribute." to the list of attributes a
skeleton unit may have.
--
2021-10-18: Updated.
2021-11-01: Accepted (add to errata)