Issue 240618.2: DW_AT_rnglists_base missing

Author: David Anderson
Champion:
Date submitted: 2024-06-18
Date revised: 2024-09-24
Date closed: 2025-03-13
Type: Clarification
Status: Withdrawn
DWARF version: 6

Comparing original with 2024-09-24. [ View this version ] [ Return to the latest version ]

## BACKGROUND

References are to DWARF5 unless otherwise indicated.

If a split-full CU uses `DW_FORM_rnglistx`,
is a `DW_AT_rnglists_base` required?
Apparently not, though
in cases I have seen in object files are instances

Apparently not, since in cases I have seen in object files
of a single rnglist in `.debug_rnglists.dwo`.
with a single rnglist in `.debug_rnglists.dwo`
The operative assumption is consumers will
simply assume zero as the (missing)
`DW_AT_rnglists_base`.
there is no `DW_AT_rnglists_base`.

The operative assumption seems to be that consumers will simply
assume zero as the (missing) `DW_AT_rnglists_base`.

Seen in llvm and gcc.

The intent of this proposal is to get clarity.

An alternative version could state:

> If a Split Full Compilation Unit
> refers to `.debug_rnglists.dwo`
> with `DW_FORM_rnglistx`
> the CU DIE must have a `DW_AT_rnglists_base`
> attribute.


## PROPOSAL

At the end Sec F.1 Overview just before
Table F.1:

> If a Split Full Compilation Unit
> refers to `.debug_rnglists.dwo`
> with `DW_FORM_rnglistx`
> and the correct `DW_AT_rnglists_base`
> would be zero, the `DW_AT_rnglists_base`
> may be omitted.