Check for debug-types in map_symbol_filenames

map_symbol_filenames can skip type units -- in fact I think it has to,
due to the assertion at the top of dw2_get_file_names.  This may be a
regression due to the TU/CU unification patch, I did not check.
This commit is contained in:
Tom Tromey
2021-07-04 13:33:12 -06:00
parent e0ec6b1a87
commit 15659f0a4e

View File

@ -4420,7 +4420,8 @@ dwarf2_base_index_functions::map_symbol_filenames
for (const auto &per_cu : per_objfile->per_bfd->all_comp_units) for (const auto &per_cu : per_objfile->per_bfd->all_comp_units)
{ {
if (per_objfile->symtab_set_p (per_cu.get ())) if (!per_cu->is_debug_types
&& per_objfile->symtab_set_p (per_cu.get ()))
{ {
if (per_cu->v.quick->file_names != nullptr) if (per_cu->v.quick->file_names != nullptr)
qfn_cache.insert (per_cu->v.quick->file_names); qfn_cache.insert (per_cu->v.quick->file_names);
@ -4430,7 +4431,8 @@ dwarf2_base_index_functions::map_symbol_filenames
for (const auto &per_cu : per_objfile->per_bfd->all_comp_units) for (const auto &per_cu : per_objfile->per_bfd->all_comp_units)
{ {
/* We only need to look at symtabs not already expanded. */ /* We only need to look at symtabs not already expanded. */
if (per_objfile->symtab_set_p (per_cu.get ())) if (per_cu->is_debug_types
|| per_objfile->symtab_set_p (per_cu.get ()))
continue; continue;
quick_file_names *file_data = dw2_get_file_names (per_cu.get (), quick_file_names *file_data = dw2_get_file_names (per_cu.get (),