Add code to display the contents of .debug_loclists sections which contain offset...
authorNick Clifton <nickc@redhat.com>
Wed, 6 Apr 2022 13:43:37 +0000 (14:43 +0100)
committerNick Clifton <nickc@redhat.com>
Wed, 6 Apr 2022 13:43:37 +0000 (14:43 +0100)
commit19c26da69d68d5d863f37c06ad73ab6292d02ffa
treed508d13be6bb9ad376d577ca371fc1fe9971104c
parenta01567f4f7fbbc6ce1492b359c762fcf39e71b4b
Add code to display the contents of .debug_loclists sections which contain offset entry tables.

PR 28981
* dwarf.c (fetch_indexed_value): Rename to fecth_indexed_addr and
return the address, rather than a string.
(fetch_indexed_value): New function - returns a value indexed by a
DW_FORM_loclistx or DW_FORM_rnglistx form.
(read_and_display_attr_value): Add support for DW_FORM_loclistx
and DW_FORM_rnglistx.
(process_debug_info): Load the loclists and rnglists sections.
(display_loclists_list): Add support for DW_LLE_base_addressx,
DW_LLE_startx_endx, DW_LLE_startx_length and
DW_LLE_default_location.
(display_offset_entry_loclists): New function.  Displays a
.debug_loclists section that contains offset entry tables.
(display_debug_loc): Call the new function.
(display_debug_rnglists_list): Add support for
DW_RLE_base_addressx, DW_RLE_startx_endx and DW_RLE_startx_length.
(display_debug_ranges): Display the contents of the section's
header.
* dwarf.h (struct debug_info): Add loclists_base field.
* testsuite/binutils-all/dw5.W: Update expected output.
* testsuite/binutils-all/x86-64/pr26808.dump: Likewise.
binutils/ChangeLog
binutils/dwarf.c
binutils/dwarf.h
binutils/testsuite/binutils-all/dw5.W
binutils/testsuite/binutils-all/x86-64/pr26808.dump
gas/ChangeLog
gas/testsuite/gas/elf/dwarf-5-irp.d