diff options
author | Tom Tromey <tom@tromey.com> | 2021-03-20 17:23:40 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2021-03-20 17:23:45 -0600 |
commit | e11145903f25b7ac91dd12e6330df3faec0a3f1b (patch) | |
tree | 921a7ace0f6baf95a09d3063413050f213b947f1 /gdb/symfile.c | |
parent | de909f0b765dbe6223292c2d05e97631136df42b (diff) | |
download | gdb-e11145903f25b7ac91dd12e6330df3faec0a3f1b.zip gdb-e11145903f25b7ac91dd12e6330df3faec0a3f1b.tar.gz gdb-e11145903f25b7ac91dd12e6330df3faec0a3f1b.tar.bz2 |
Switch objfile to hold a list of psymbol readers
This changes objfile::qf to be a forward_list, and then updates all
the uses to iterate over the list. Note that there is still only ever
a single element in the list; this is handled by clearing the list
whenever an object is added.
gdb/ChangeLog
2021-03-20 Tom Tromey <tom@tromey.com>
* dwarf2/read.c (dwarf2_build_psymtabs): Update.
* 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)
(objfile::require_partial_symbols): Update.
* psymtab.c (maintenance_print_psymbols)
(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
* objfiles.h (struct objfile) <qf>: Now a forward_list.
* objfiles.c (objfile_relocate1): Update.
* elfread.c (elf_symfile_read): Update.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r-- | gdb/symfile.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gdb/symfile.c b/gdb/symfile.c index d2ea04e..244565f 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -903,7 +903,8 @@ syms_from_objfile_1 (struct objfile *objfile, objfile_set_sym_fns (objfile, find_sym_fns (objfile->obfd)); objfile->reset_psymtabs (); - objfile->qf = make_psymbol_functions (objfile->partial_symtabs); + objfile->qf.clear (); + objfile->qf.push_front (make_psymbol_functions (objfile->partial_symtabs)); if (objfile->sf == NULL) { @@ -2553,7 +2554,9 @@ reread_symbols (void) start over. PR symtab/15885 */ objfile_set_sym_fns (objfile, find_sym_fns (objfile->obfd)); objfile->reset_psymtabs (); - objfile->qf = make_psymbol_functions (objfile->partial_symtabs); + objfile->qf.clear (); + objfile->qf.push_front + (make_psymbol_functions (objfile->partial_symtabs)); build_objfile_section_table (objfile); |