+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * objfiles.h (struct objfile) <psymtabs>: Remove method.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_functions::count_psyms): Rename.
+ (psymbol_functions::print_stats): Update.
+ * psympriv.h (struct psymbol_functions) <count_psyms>: Declare
+ method.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_functions::require_partial_symbols): Rename.
+ (psymbol_functions::find_pc_sect_psymtab): Rename.
+ (psymbol_functions::find_pc_sect_compunit_symtab)
+ (maintenance_print_psymbols, maintenance_check_psymtabs): Update.
+ * psympriv.h (struct psymbol_functions) <require_partial_symbols>:
+ Declare new method.
+ <get_partial_symtabs, find_pc_sect_psymtab>: Likewise.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * xcoffread.c (xcoff_start_psymtab): Add partial_symtabs parameter.
+ (xcoff_end_psymtab, scan_xcoff_symtab): Update.
+ * psymtab.c (partial_symtab::partial_symtab): Add partial_symtabs
+ parameter.
+ (add_psymbol_to_bcache): Remove.
+ (partial_symtab::add_psymbol): Add partial_symtabs parameter.
+ (partial_symtab::add_psymbol, partial_symtab::partial_symtab):
+ Likewise.
+ * psympriv.h (partial_symtab): Add partial_symtabs parameter.
+ <add_psymbol>: Likewise.
+ (standard_psymtab, legacy_psymtab): Likewise.
+ * mdebugread.c (parse_partial_symbols): Update.
+ (handle_psymbol_enumerators): Add partial_symtabs parameter.
+ (handle_psymbol_enumerators): Update.
+ (new_psymtab): Add partial_symtabs parameter.
+ * dwarf2/read.h (dwarf2_psymtab): Add partial_symtabs parameter.
+ * dwarf2/read.c (dwarf2_include_psymtab): Add partial_symtabs
+ parameter.
+ (dwarf2_create_include_psymtab): Add partial_symtabs parameter.
+ (create_partial_symtab, add_partial_symbol, dwarf_decode_lines):
+ Update.
+ * dbxread.c (read_dbx_symtab): Update.
+ (start_psymtab): Add partial_symtabs parameter.
+ (dbx_end_psymtab): Update.
+ * ctfread.c (struct ctf_context) <partial_symtabs>: New member.
+ (ctf_psymtab): Add partial_symtabs parameter.
+ (create_partial_symtab, ctf_psymtab_type_cb, ctf_psymtab_var_cb):
+ Update.
+ (scan_partial_symbols): Add partial_symtabs parameter.
+ (scan_partial_symbols, elfctf_build_psymtabs)
+ (ctf_psymtab_add_enums): Update.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * symfile.c (read_symbols): Use objfile method.
+ * symfile-debug.c (objfile::require_partial_symbols): New method.
+ * psymtab.h (require_partial_symbols): Don't declare.
+ * psymtab.c (require_partial_symbols): Use objfile method. Now
+ static.
+ (psymbol_functions::map_symtabs_matching_filename, OBJFILE)
+ (psymbol_functions::lookup_symbol)
+ (psymbol_functions::lookup_global_symbol_language)
+ (psymbol_functions::find_last_source_symtab)
+ (psymbol_functions::forget_cached_source_info)
+ (psymbol_functions::print_stats)
+ (psymbol_functions::expand_symtabs_for_function)
+ (psymbol_functions::expand_all_symtabs)
+ (psymbol_functions::expand_symtabs_with_fullname)
+ (psymbol_functions::map_symbol_filenames)
+ (psymbol_functions::map_matching_symbols)
+ (psymbol_functions::expand_symtabs_matching)
+ (psymbol_functions::find_compunit_symtab_by_address)
+ (maintenance_print_psymbols, maintenance_info_psymtabs)
+ (maintenance_check_psymtabs): Update.
+ * objfiles.h (struct objfile) <require_partial_symbols>: Declare
+ new method.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * xcoffread.c (xcoff_sym_fns): Update.
+ * symfile.h (struct sym_fns) <sym_read_psymbols>: Remove.
+ * symfile-debug.c (objfile::has_partial_symbols): Use
+ can_lazily_read_symbols.
+ (debug_sym_read_psymbols): Remove.
+ (debug_sym_fns, install_symfile_debug_logging): Update.
+ * quick-symbol.h (struct quick_symbol_functions)
+ <can_lazily_read_symbols, read_partial_symbols>: New methods.
+ * psymtab.c (require_partial_symbols): Use new 'qf' methods.
+ * mipsread.c (ecoff_sym_fns): Update.
+ * machoread.c (macho_sym_fns): Update.
+ * elfread.c (struct lazy_dwarf_reader): New.
+ (elf_symfile_read): Update.
+ (read_psyms): Now a method of lazy_dwarf_reader.
+ (elf_sym_fns): Update.
+ (elf_sym_fns_lazy_psyms): Remove.
+ * dbxread.c (aout_sym_fns): Update.
+ * coffread.c (coff_sym_fns): Update.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * symfile.c (syms_from_objfile_1): Call reset_psymtabs.
+ (reread_symbols): Move reset_psymtabs call later.
+ * objfiles.c (objfile::objfile): Don't initialize
+ partial_symtabs.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * 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.
+ <m_partial_symtabs>: New member.
+ <set_partial_symtabs>: New method.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dwarf2_create_include_psymtab): Add per_bfd
+ parameter.
+ (process_psymtab_comp_unit_reader)
+ (build_type_psymtab_dependencies, dwarf2_build_psymtabs_hard)
+ (add_partial_subprogram, dwarf2_ranges_read, dwarf_decode_lines):
+ Reference psymtabs via per_bfd.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/index-write.c (struct addrmap_index_data) <objfile>:
+ Remove.
+ (add_address_entry): Remove objfile parameter.
+ (add_address_entry_worker): Update.
+ (write_address_map): Replace objfile parameter with per_bfd.
+ (write_gdbindex, write_psymtabs_to_index): Update.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dwarf2_base_index_functions::print_stats): Add
+ print_bcache parameter.
+ * symfile-debug.c (objfile::print_stats): Add print_bcache
+ parameter.
+ * quick-symbol.h (struct quick_symbol_functions)
+ <print_stats>: Add print_bcache parameter.
+ * symmisc.c (print_symbol_bcache_statistics, count_psyms): Move
+ code to psymtab.c.
+ (print_objfile_statistics): Move psymtab code to psymtab.c.
+ * psymtab.c (count_psyms): Move from symmisc.c.
+ (psymbol_functions::print_stats): Print partial symbol and bcache
+ statistics. Add print_bcache parameter.
+ * objfiles.h (print_symbol_bcache_statistics): Don't declare.
+ (struct objfile) <print_stats>: Add print_bcache parameter.
+ * maint.c (maintenance_print_statistics): Update.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.h (struct dwarf2_per_bfd) <psymtabs_addrmap>: New
+ member.
+ * dwarf2/read.c (create_addrmap_from_index)
+ (create_addrmap_from_aranges): Set per_bfd addrmap.
+ (dwarf2_read_gdb_index): Don't set partial_symtabs.
+ (dwarf2_base_index_functions::find_pc_sect_compunit_symtab): Use
+ per_bfd addrmap.
+ (dwarf2_read_debug_names): Don't set partial_symtabs.
+ (dwarf2_initialize_objfile): Likewise.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (dwarf2_build_psymtabs): Set partial_symtabs
+ earlier.
+
+2021-03-20 Tom Tromey <tom@tromey.com>
+
+ * psympriv.h (psymtab_discarder): Take psymtab_storage parameter.
+ (~psymtab_discarder, keep): Update.
+ <m_objfile>: Remove.
+ <m_partial_symtabs>: New member.
+ * dwarf2/read.c (dwarf2_build_psymtabs): Update.
+
2021-03-20 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_end_psymtab): Add partial_symtabs parameter.