[Dwarf-discuss] [UPDATE] 240618.2 rnglists_base missing
David Anderson
davea42@linuxmail.org
Sun Jan 12 00:03:53 GMT 2025
# `DW_AT_rnglists_base` missing
## 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.9:
> If a Split Full Compilation Unit
> refers to `.debug_rnglists.dwo`
> with `DW_FORM_rnglistx`
> and the correct `DW_AT_rnglists_base`
> would be size-of-rnglists-header
> of the initial contribution to
> `.debug_rnglists.dwo`,
> the `DW_AT_rnglists_base`
> may be omitted.
> In a dwp package file (See F.3 Package File Example)
> a `.debug_cu_index` or `.debug_tu_index`
> entry `DW_SECT_RNGLISTS` makes 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.dwo`
> with `DW_FORM_loclistx`
> and the correct `DW_AT_loclists_base`
> would be size-of-loclists-header
> of the initial contribution to
> `.debug_loclists.dwo`,
> the `DW_AT_loclists_base`
> may be omitted.
> In a dwp package file (See F.3 Package File Example)
> a `.debug_cu_index` or `.debug_tu_index`
> entry `DW_SECT_LOCLISTS` makes loclists base unnecessary
> by providing the offset of the contribution to
>`.debug_loclists.dwo`.
This is a major revision of the previous text.
David Anderson
More information about the Dwarf-discuss
mailing list