DWARF Standard


HOME
SPECIFICATIONS
FAQ
ISSUES



220724.1 David Blaikie Remove .debug_aranges and require unit-level ranges/high/low Improvement Open David Blaikie


Section 6.1.2, pg 147
Given a discussion on dwarf-discuss (mailing lists down at the moment, so I 
can't include a link) and Clang's experience with debug_aranges being disabled 
by default for the better part of a decade at this point, I'd propose removing 
them from the DWARF standard in favor of adding a guarantee that CU DIEs must 
(rather than may) include a comprehensive address range (DW_AT_high/low_pc) or 
list of ranges (DW_AT_ranges). This reduces redundancy in DWARF - reducing 
debug info size and implementation complexity (having to support reading data 
from multiple/varied locations - aranges or CU DIE ranges).

Proposed solution:
  Remove section 6.1.2 and 7.12 and all other references to .debug_aranges

  The index lists the following references to .debug_aranges: 147, 184, 186,
  187, 197, 235, 274, 275, 278, 279, 366, 371, 393, 394, 399–401, 416 - these
  seem to generally be easy to remove/an editorial matter of removing a 
  reference from a list of examples/descriptions. (I can enumerate them all  
  explicitly if desired)
  
  Edit 3.1.1, p61 from:

A full or partial compilation unit entry may have the following attributes:
 1. Either a DW_AT_low_pc and DW_AT_high_pc pair of attributes or a 
DW_AT_ranges attribute whose values encode the contiguous or non-contiguous 
address ranges, respectively, of the machine instructions generated for the 
compilation unit (see Section 2.17 on page 51).

A DW_AT_low_pc attribute may also be specified in ... 

to:

A full or partial compilation unit entry must have either a DW_AT_low_pc and 
DW_AT_high_pc pair of attributes or a DW_AT_ranges attribute whose values 
encode the contiguous or non-contiguous address ranges, respectively, of the 
machine instructions generated from the compilation unit (see Section 2.17 
on page 61).

A full or partial compilation unit entry may have the following attributes:

  1. A DW_AT_low_pc attribute may be specified in ...



All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2007-2022 by DWARF Standards Committee.