From 17d66340ebb4528307c6c5d08383859aab785db7 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 20 Mar 2021 17:23:40 -0600 Subject: Attach partial symtab storage to psymbol_functions Currently, the storage for partial symtabs is attached to the objfile. Ultimately, though, this direct assocation will be removed, and the storage will be owned by the psymbol_functions object. This patch is a step toward this goal. The storage is already managed as a shared_ptr, to enable cross-objfile sharing, so this adds a reference from the psymbol_functions, and changes some code in psymtab.c to use this reference instead. gdb/ChangeLog 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_build_psymtabs): Call set_partial_symtabs. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * psymtab.h (make_psymbol_functions): Add partial_symtabs parameter. * psymtab.c (find_pc_sect_psymtab): Add partial_symtabs parameter. (psymbol_functions::find_pc_sect_compunit_symtab) (psymbol_functions::print_stats, psymbol_functions::dump) (psymbol_functions::has_symbols): Update. (make_psymbol_functions, dump_psymtab_addrmap): Add partial_symtabs parameter. (maintenance_print_psymbols): Update. (psymbol_functions::expand_symtabs_matching): Update. * psympriv.h (struct psymbol_functions): Add constructor. : New member. : New method. --- gdb/psymtab.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gdb/psymtab.h') diff --git a/gdb/psymtab.h b/gdb/psymtab.h index 45eaf0b..18b47c5 100644 --- a/gdb/psymtab.h +++ b/gdb/psymtab.h @@ -154,6 +154,7 @@ private: extern psymtab_storage::partial_symtab_range require_partial_symbols (struct objfile *objfile, bool verbose); -extern quick_symbol_functions_up make_psymbol_functions (); +extern quick_symbol_functions_up make_psymbol_functions + (const std::shared_ptr &); #endif /* PSYMTAB_H */ -- cgit v1.1