From: Tom Tromey Date: Fri, 8 Mar 2024 20:37:50 +0000 (-0700) Subject: Remove more calls to dwarf2_per_objfile::adjust X-Git-Tag: gdb-15-branchpoint~182 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5a401018905185d6b82395b2c40a15dcb229bc6;p=thirdparty%2Fbinutils-gdb.git Remove more calls to dwarf2_per_objfile::adjust As with the previous patch, this patch removes some calls to dwarf2_per_objfile::adjust. These calls are not needed by the cooked indexer, as it does not create symbols or look up symbols by address. The call in dwarf2_ranges_read is similarly not needed, as it is only used to update an addrmap; and in any case I believe this particular call is only reached by the indexer. --- diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 00e8608f9ce..76330d7b784 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -10919,7 +10919,6 @@ dwarf2_ranges_read (unsigned offset, unrelocated_addr *low_return, unrelocated_addr *high_return, struct dwarf2_cu *cu, addrmap_mutable *map, void *datum, dwarf_tag tag) { - dwarf2_per_objfile *per_objfile = cu->per_objfile; int low_set = 0; unrelocated_addr low = {}; unrelocated_addr high = {}; @@ -10930,13 +10929,10 @@ dwarf2_ranges_read (unsigned offset, unrelocated_addr *low_return, { if (map != nullptr) { - unrelocated_addr lowpc; - unrelocated_addr highpc; - - lowpc = per_objfile->adjust (range_beginning); - highpc = per_objfile->adjust (range_end); /* addrmap only accepts CORE_ADDR, so we must cast here. */ - map->set_empty ((CORE_ADDR) lowpc, (CORE_ADDR) highpc - 1, datum); + map->set_empty ((CORE_ADDR) range_beginning, + (CORE_ADDR) range_end - 1, + datum); } /* FIXME: This is recording everything as a low-high @@ -15996,14 +15992,11 @@ cooked_indexer::check_bounds (cutu_reader *reader) cu, m_index_storage->get_addrmap (), cu->per_cu); if (cu_bounds_kind == PC_BOUNDS_HIGH_LOW && best_lowpc < best_highpc) { - dwarf2_per_objfile *per_objfile = cu->per_objfile; - unrelocated_addr low = per_objfile->adjust (best_lowpc); - unrelocated_addr high = per_objfile->adjust (best_highpc); /* Store the contiguous range if it is not empty; it can be empty for CUs with no code. addrmap requires CORE_ADDR, so we cast here. */ - m_index_storage->get_addrmap ()->set_empty ((CORE_ADDR) low, - (CORE_ADDR) high - 1, + m_index_storage->get_addrmap ()->set_empty ((CORE_ADDR) best_lowpc, + (CORE_ADDR) best_highpc - 1, cu->per_cu); cu->per_cu->addresses_seen = true; @@ -16309,13 +16302,10 @@ cooked_indexer::scan_attributes (dwarf2_per_cu_data *scanning_per_cu, if (*high_pc > *low_pc) { - dwarf2_per_objfile *per_objfile = reader->cu->per_objfile; - unrelocated_addr lo = per_objfile->adjust (*low_pc); - unrelocated_addr hi = per_objfile->adjust (*high_pc); /* Need CORE_ADDR casts for addrmap. */ - m_index_storage->get_addrmap ()->set_empty ((CORE_ADDR) lo, - (CORE_ADDR) hi - 1, - scanning_per_cu); + m_index_storage->get_addrmap ()->set_empty + ((CORE_ADDR) *low_pc, (CORE_ADDR) *high_pc - 1, + scanning_per_cu); } }