diff options
author | Tom Tromey <tom@tromey.com> | 2021-06-11 13:23:28 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2022-04-12 09:31:15 -0600 |
commit | cffae852e33b3c735cc48a398a15e7236bc39928 (patch) | |
tree | 9c4fd641e28c8cd14f58e74687f3c4c1ea4d5c96 | |
parent | 1ddd39f58fea3ec9837018506ea1d7b86e51dc7b (diff) | |
download | gdb-cffae852e33b3c735cc48a398a15e7236bc39928.zip gdb-cffae852e33b3c735cc48a398a15e7236bc39928.tar.gz gdb-cffae852e33b3c735cc48a398a15e7236bc39928.tar.bz2 |
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.
-rw-r--r-- | gdb/dwarf2/read.c | 2 | ||||
-rw-r--r-- | gdb/dwarf2/read.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 4252443..e0ae733 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 effeaabc..58f6a67 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; |