Change parameters to write_address_map

To support the removal of partial symtabs from the DWARF index writer,
this makes a small change to have write_address_map accept the address
map as a parameter, rather than assuming it always comes from the
per-BFD object.
This commit is contained in:
Tom Tromey 2021-05-27 16:29:52 -06:00
parent 88a981942d
commit fca9326e27

View File

@ -473,13 +473,12 @@ addrmap_index_data::operator() (CORE_ADDR start_addr, void *obj)
in the index file. */
static void
write_address_map (dwarf2_per_bfd *per_bfd, data_buf &addr_vec,
write_address_map (struct addrmap *addrmap, data_buf &addr_vec,
cu_index_map &cu_index_htab)
{
struct addrmap_index_data addrmap_index_data (addr_vec, cu_index_htab);
addrmap_foreach (per_bfd->partial_symtabs->psymtabs_addrmap,
addrmap_index_data);
addrmap_foreach (addrmap, addrmap_index_data);
/* It's highly unlikely the last entry (end address = 0xff...ff)
is valid, but we should still handle it.
@ -1378,7 +1377,8 @@ write_gdbindex (dwarf2_per_objfile *per_objfile, FILE *out_file,
/* Dump the address map. */
data_buf addr_vec;
write_address_map (per_objfile->per_bfd, addr_vec, cu_index_htab);
write_address_map (per_objfile->per_bfd->partial_symtabs->psymtabs_addrmap,
addr_vec, cu_index_htab);
/* Now that we've processed all symbols we can shrink their cu_indices
lists. */