From: Tom Tromey Date: Fri, 11 Jun 2021 19:23:28 +0000 (-0600) Subject: Add dwarf2_per_cu_data::addresses_seen X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cffae852e33b3c735cc48a398a15e7236bc39928;p=binutils-gdb.git Add dwarf2_per_cu_data::addresses_seen This adds a new member to dwarf2_per_cu_data that indicates whether addresses have been seen for this CU. This is then set by the .debug_aranges reader. The idea here is to detect when a CU does not have address information, so that the new indexer will know to do extra scanning in that case. --- diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 425244358a7..e0ae7330732 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -2740,6 +2740,8 @@ read_addrmap_from_aranges (dwarf2_per_objfile *per_objfile, - baseaddr); addrmap_set_empty (mutable_map, start, end - 1, per_cu); } + + per_cu->addresses_seen = true; } return true; diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index effeaabc4af..58f6a673e69 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -104,6 +104,7 @@ struct dwarf2_per_cu_data reading_dwo_directly (false), tu_read (false), m_header_read_in (false), + addresses_seen (false), unit_type {}, lang (language_unknown) { @@ -154,6 +155,10 @@ struct dwarf2_per_cu_data it private at the moment. */ mutable bool m_header_read_in : 1; + /* If addresses have been read for this CU (usually from + .debug_aranges), then this flag is set. */ + bool addresses_seen : 1; + /* The unit type of this CU. */ ENUM_BITFIELD (dwarf_unit_type) unit_type : 8;