mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-19 01:19:41 +08:00
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.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user