Issue 240618.2: DW_AT_rnglists_base missing
| Author: | David Anderson |
|---|---|
| Champion: | |
| Date submitted: | 2024-06-18 |
| Date revised: | 2025-01-28 |
| Date closed: | 2025-03-13 |
| Type: | Clarification |
| Status: | Withdrawn |
| DWARF version: | 6 |
BACKGROUND
If a split-full CU uses DW_FORM_rnglistx,
is a DW_AT_rnglists_base required?
Apparently not, since in cases I have seen in object files
with a single rnglist in .debug_rnglists.dwo
there is no DW_AT_rnglists_base.
The operative assumption seems to be that consumers will simply
assume size-of-rnglists-header
of the initial .debug_rnglists.dwo contribution
as the (missing) DW_AT_rnglists_base.
Similarly for .debug_loclists[.dwo] and DW_AT_loclists_base.
The intent of this proposal is to allow this common practice as correct dwarf.
PROPOSAL
Section 7.28 Range List Table Following the last paragraph before Section 7.29:
If a Split Full Compilation Unit refers to
.debug_rnglists.dwowithDW_FORM_rnglistxand the correctDW_AT_rnglists_basewould be size-of-rnglists-header of the initial contribution to.debug_rnglists.dwo, theDW_AT_rnglists_basemay be omitted. In a dwp package file (See F.3 Package File Example) a.debug_cu_indexor.debug_tu_indexentryDW_SECT_RNGLISTSmakes rnglists base unnecessary by providing the offset of the contribution to.debug_rnglists.dwo.
Section 7.29 Location List Table Following the last paragraph before Section 7.30:
If a Split Full Compilation Unit refers to
.debug_loclists.dwowithDW_FORM_loclistxand the correctDW_AT_loclists_basewould be size-of-loclists-header of the initial contribution to.debug_loclists.dwo, theDW_AT_loclists_basemay be omitted. In a dwp package file (See F.3 Package File Example) a.debug_cu_indexor.debug_tu_indexentryDW_SECT_LOCLISTSmakes loclists base unnecessary by providing the offset of the contribution to.debug_loclists.dwo.
2024-06-18: Original proposal.
2024-09-24: Revised.
2025-01-11: Revised.
2025-03-13: Withdrawn in favor of 250311.1.