From fa33eebfca9d560942e456bf9246502dda20b092 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sat, 12 Jun 2021 10:33:48 +0200 Subject: [PATCH] [gdb/symtab] Add interesting_symbols to dwarf2_per_cu_data Make the vector interesting_symbols available during full symbols expansion. --- gdb/dwarf2/read.c | 8 +++++++- gdb/dwarf2/read.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 16ca352a748..dc59ead86bc 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -8366,7 +8366,13 @@ dwarf2_psymtab::read_symtab (struct objfile *objfile) { dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile); - gdb_assert (!per_objfile->symtab_set_p (per_cu_data)); + if (lazy_expand_symtab_p) + per_cu_data->interesting_symbols = &interesting_symbols; + else + { + gdb_assert (!per_objfile->symtab_set_p (per_cu_data)); + per_cu_data->interesting_symbols = nullptr; + } /* If this psymtab is constructed from a debug-only objfile, the has_section_at_zero flag will not necessarily be correct. We diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index ee454ad300a..e341bbd752c 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -217,6 +217,8 @@ struct dwarf2_per_cu_data functions above. */ std::vector *imported_symtabs = nullptr; + std::set *interesting_symbols = nullptr; + /* Return true of IMPORTED_SYMTABS is empty or not yet allocated. */ bool imported_symtabs_empty () const { -- 2.47.2