DWARF Standard


HOME
SPECIFICATIONS
FAQ
ISSUES



170427.3 Alexandre Oliva Extending loclists with common sublists Enhancement Open Mark Wielaard


Section 2.6.2 Location Lists and Section 2.17.3 Non-Contiguous Address Ranges

This proposal introduces an mechanism for loclists and rnglists to
share location list or range list fragments among multiple location or
range lists.

In Section 2.6.2:

  * List inclusion.  This kind of entry includes entries from another
    loclist in the current location list.  It can be used to share
    list entries among multiple location lists.

In Section 2.17.13:

  * Range inclusion.  This kind of entry includes entries from another
    rnglist into the current range list.  It can be used to share
    range entries among multiple range lists.

In Section 2.6.2, page 44, add following 1. DW_LLE_end_of_list:

  2. DW_LLE_include_loclistx

  This is a form of list inclusion, that has one unsigned LEB128
  operand.  The value is an index into the .debug_loclists section,
  interpreted the same way as the operand of DW_FORM_loclistx to find
  a target list of entries, which will be regarded as part of the
  current loclist, up to the DW_LLE_end_of_list entry.

In Section 2.6.2, page 45, add after 8. DW_LLE_start_length:

  9. DW_LLE_include_loclist

  This is a form of range inclusion, 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 current loclist, up to the DW_LLE_end_of_list_entry.

In Section 2.7.13, page 53, add following 1. DW_RLE_end_of_list:

  2. DW_RLE_include_rnglistx

  This is a form of range inclusion, that has one unsigned LEB128
  operand.  The value is an index into the .debug_rnglists section,
  interpreted the same way as the operand of DW_FORM_rnglistx to find
  a target list of entries, which will be regarded as part of the
  current rnglist, up to the DW_RLE_end_of_list entry.

In Section 2.7.13, page 54, add after 8. DW_RLE_start_length:

  10. DW_RLE_include_rnglist

  This is a form of range inclusion, that has one offset operand.  The
  value is an offset into the .debug_rnglists section, like the
  operand of a DW_FORM_sec_offset rnglist.  The offset identifies the
  first entry of a rnglist whose entries are to be regarded as part of
  the current rnglist, up to the DW_RLE_end_of_list_entry.


In Section 7.7.3, add to Table 7.10:

  DW_LLE_include_loclist  | 0x??
  DW_LLE_include_loclistx | 0x??

In Section 7.25, add to Table 7.30:

  DW_LRE_include_rnglist  | 0x??
  DW_LRE_include_rnglistx | 0x??

--
2021-04-15:  Revised from 170427.2.
   Previous version: http://dwarfstd.org/issues/170427.2-1.html
2021-07-12:  Revised.
   Previous version: http://dwarfstd.org/issues/170427.3-1.html
2023-01-23:  Revised.
2021-02-03:  Revised.
   Previous version: http://dwarfstd.org/issues/170427.3-2.html


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.