||Extending loclists with common sublists
Section 6.2, pg. 149-160.
This proposal introduces an extension mechanism to loclists, that can
be used to share location list fragments among multiple location
lists, and to experiment with extensions to location list standards in
a way that does not break backward compatibility and that enables the
experimental extensions to be welcomed into the standard without
In Section 2.6.2:
* List extension. This kind of entry extends a location list with
entries from another loclist. It can be used to share list
entries among multiple lists, and also to extend location lists
with nonstandard entry kinds, in a way that will be disregarded by
debug information consumers that do not support the extensions.
In Section 2.6.2, page 44, add following 1. DW_LLE_end_of_list:
This is a form of list extension, that has one unsigned LEB128
operand. The value is an index into the .debug_loclists section,
like the operand of a DW_FORM_loclistx loclist. The contents of the
location identified by the index are added to the base to determine
the address of the first entry of a loclist whose entries are to be
regarded as part of the loclist containing the list extension entry.
In Section 2.6.2, page 45, add after 9. DW_LLE_start_length:
This is a form of list extension, that has one offset operand. The
value is an offset into the .debug_loclists section, like the
operand of a DW_FORM_sec_offset loclist. The offset identifies the
first entry of a loclist whose entries are to be regarded as part of
the loclist containing the list extension entry.
In Section 7.7.3, add to Table 7.10:
DW_LLE_extend_loclist | 0x0A
DW_LLE_extend_loclistx | 0x0B
2021-04-15: Revised from 170427.2.
Previous version: http://dwarfstd.org/ShowIssue.php?issue=170427.2-1