aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2024-03-08 13:37:50 -0700
committerTom Tromey <tom@tromey.com>2024-05-04 09:30:30 -0600
commita5a401018905185d6b82395b2c40a15dcb229bc6 (patch)
treee5a806af84d4ade28de7035d51d474fdbf62ad4a /gdb
parent91fc201ed4a822f5fa86d1075806470c327bc455 (diff)
downloadbinutils-a5a401018905185d6b82395b2c40a15dcb229bc6.zip
binutils-a5a401018905185d6b82395b2c40a15dcb229bc6.tar.gz
binutils-a5a401018905185d6b82395b2c40a15dcb229bc6.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/dwarf2/read.c26
1 files changed, 8 insertions, 18 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 00e8608..76330d7 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);
}
}