[PATCH 00/13] DWARF 5 rnglists & loclists fixes (PR 26813)

Simon Marchi via Gdb-patches
2021-01-20T05:39:33Z

This series fixes a few issues related to rnglists and loclists,
prompted by PR 26813:

https://sourceware.org/bugzilla/show_bug.cgi?id=26813

Simon Marchi (13):
gdb/dwarf: change read_loclist_index complaints into errors
gdb/dwarf: fix bound check in read_rnglist_index
gdb/dwarf: add missing bound check to read_loclist_index
gdb/dwarf: remove unnecessary check in read_{rng,loc}list_index
gdb/dwarf: few fixes for handling DW_FORM_{rng,loc}listx
gdb/dwarf: read correct rnglist/loclist header in
read_{rng,loc}list_index
gdb/dwarf: read DW_AT_ranges value as unsigned in
partial_die_info::read
gdb/testsuite: add .debug_rnglists tests
gdb/testsuite: DWARF assembler: add context parameters to _location
gdb/testsuite: add .debug_loclists tests
gdb/dwarf: split dwarf2_cu::ranges_base in two
gdb/dwarf: make read_{loc,rng}list_index return sect_offset
gdb/testsuite: add test for .debug_{rng,loc}lists section without
offset array

gdb/dwarf2/attribute.c | 5 +-
gdb/dwarf2/attribute.h | 1 +
gdb/dwarf2/die.h | 36 +-
gdb/dwarf2/read.c | 257 ++++++----
.../gdb.dwarf2/loclists-multiple-cus.c | 37 ++
.../gdb.dwarf2/loclists-multiple-cus.exp | 146 ++++++
.../gdb.dwarf2/loclists-sec-offset.c | 69 +++
.../gdb.dwarf2/loclists-sec-offset.exp | 261 ++++++++++
.../gdb.dwarf2/rnglists-multiple-cus.exp | 102 ++++
.../gdb.dwarf2/rnglists-sec-offset.exp | 143 ++++++
gdb/testsuite/lib/dwarf.exp | 451 +++++++++++++++++-
11 files changed, 1381 insertions(+), 127 deletions(-)
create mode 100644 gdb/testsuite/gdb.dwarf2/loclists-multiple-cus.c
create mode 100644 gdb/testsuite/gdb.dwarf2/loclists-multiple-cus.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/loclists-sec-offset.c
create mode 100644 gdb/testsuite/gdb.dwarf2/loclists-sec-offset.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/rnglists-multiple-cus.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/rnglists-sec-offset.exp

--
2.30.0