Issue 240618.2: DW_AT_rnglists_base missing

Author: David Anderson
Champion:
Date submitted: 2024-06-18
Date revised: 2024-09-24
Date closed:
Type: Clarification
Status: Open
DWARF Version: 6

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, 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 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.