[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