Issue 161031.1: Issues in Changes from Version 4 to Version 5

Author: Jakub Jelinek
Champion: Jakub Jelinek
Date submitted: 2016-10-31
Date revised:
Date closed:
Type: Editorial
Status: Accepted
DWARF Version: 5
Section 1.4, pg 8
In 1.4 we list:
"The compilation unit header (in the .debug_info section) has a new
unit_type field."

this isn't precise, not only the unit_type field has been added, but the
debug_abbrev_offset and address_size fields were swapped in DWARF5 compared
to DWARF4 (and padding1/padding2 were added, I hope we can still remove them
again).

"A location list entry with the address range (0, maximum-address) is
defined as the new default location list entry"

looks to be from before .debug_loclists got accepted, default location
list entry is now just DW_LLE_default_location entry.  So I think we
should remove this bullet.

On the other hand, DW_FORM_sec_offset on attributes with loclist class
(like DW_AT_location) or rnglist class (like DW_AT_ranges) are actually
incompatible (and thus should be listed as such), their meaning changes
depending on the version field in corresponding .debug_info section,
in DWARF4 it meant offsets into .debug_loc/.debug_ranges sections, while
in DWARF5 it means offsets into .debug_loclists/.debug_rnglists sections.
So it isn't similar to .debug_macinfo vs. .debug_macro, because in that
case it is referred by a different attribute.


--
12/06/2016 -- Accepted.