aboutsummaryrefslogtreecommitdiff
path: root/gdb/psymtab.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-03-20 17:23:40 -0600
committerTom Tromey <tom@tromey.com>2021-03-20 17:23:41 -0600
commit5c3f1e5bfc0cf45d8bc734aabaf0225b72a31096 (patch)
treee80ff71d12c21e772aa63f6d5d5318215a932eb6 /gdb/psymtab.c
parent9b99dcc8dbc4367b2d2af78ee896508b67f5517a (diff)
downloadgdb-5c3f1e5bfc0cf45d8bc734aabaf0225b72a31096.zip
gdb-5c3f1e5bfc0cf45d8bc734aabaf0225b72a31096.tar.gz
gdb-5c3f1e5bfc0cf45d8bc734aabaf0225b72a31096.tar.bz2
Move sym_fns::qf to objfile
Currently the "partial" symbol reader is attached to the objfile's symbol functions. However, in order to allow multiple separate partial symbol readers, this association must be changed. This patch moves the "qf" member out of sym_fns as a step toward that goal. gdb/ChangeLog 2021-03-20 Tom Tromey <tom@tromey.com> * psymtab.c (require_partial_symbols): Check that 'sf' is not null. * xcoffread.c (xcoff_sym_fns): Update. * symfile.h (struct sym_fns) <qf>: Remove. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * symfile-debug.c (objfile::has_partial_symbols) (objfile::find_last_source_symtab) (objfile::forget_cached_source_info) (objfile::map_symtabs_matching_filename, objfile::lookup_symbol) (objfile::print_stats, objfile::dump) (objfile::expand_symtabs_for_function) (objfile::expand_all_symtabs) (objfile::expand_symtabs_with_fullname) (objfile::map_matching_symbols) (objfile::expand_symtabs_matching) (objfile::find_pc_sect_compunit_symtab) (objfile::map_symbol_filenames) (objfile::find_compunit_symtab_by_address) (objfile::lookup_global_symbol_language, debug_sym_fns) (install_symfile_debug_logging): Update. * objfiles.h (struct objfile) <qf>: New member. * mipsread.c (ecoff_sym_fns): Update. * machoread.c (macho_sym_fns): Update. * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names): Don't declare. (elf_symfile_read, elf_sym_fns, elf_sym_fns_lazy_psyms): Update. * dbxread.c (aout_sym_fns): Update. * coffread.c (coff_sym_fns): Update.
Diffstat (limited to 'gdb/psymtab.c')
-rw-r--r--gdb/psymtab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 94b5acd..8c02fa2 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -84,7 +84,8 @@ require_partial_symbols (struct objfile *objfile, bool verbose)
{
objfile->flags |= OBJF_PSYMTABS_READ;
- if (objfile->sf->sym_read_psymbols)
+ if (objfile->sf != nullptr
+ && objfile->sf->sym_read_psymbols)
{
if (verbose)
printf_filtered (_("Reading symbols from %s...\n"),