diff options
| -rw-r--r-- | gdb/progspace.c | 10 | ||||
| -rw-r--r-- | gdb/progspace.h | 7 | ||||
| -rw-r--r-- | gdb/symfile.c | 11 | ||||
| -rw-r--r-- | gdb/symfile.h | 2 | ||||
| -rw-r--r-- | gdb/symtab.c | 5 |
5 files changed, 20 insertions, 15 deletions
diff --git a/gdb/progspace.c b/gdb/progspace.c index 6ee0134..4017d0f 100644 --- a/gdb/progspace.c +++ b/gdb/progspace.c @@ -161,6 +161,16 @@ program_space::iterate_over_objfiles_in_search_order /* See progspace.h. */ void +program_space::map_symbol_filenames (symbol_filename_listener fun, + bool need_fullname) +{ + for (objfile &objfile : objfiles ()) + objfile.map_symbol_filenames (fun, need_fullname); +} + +/* See progspace.h. */ + +void program_space::add_objfile (std::unique_ptr<objfile> &&objfile, struct objfile *before) { diff --git a/gdb/progspace.h b/gdb/progspace.h index 1cf6042..498a5b4 100644 --- a/gdb/progspace.h +++ b/gdb/progspace.h @@ -24,6 +24,7 @@ #include "solib.h" #include "target.h" #include "gdb_bfd.h" +#include "quick-symbol.h" #include "registry.h" #include "gdbsupport/safe-iterator.h" #include "gdbsupport/intrusive_list.h" @@ -224,6 +225,12 @@ struct program_space (iterate_over_objfiles_in_search_order_cb_ftype cb, objfile *current_objfile); + /* Wrapper around the quick_symbol_functions map_symbol_filenames + "method". Map function FUN over every file, in every objfile in + this program space. See + quick_symbol_functions.map_symbol_filenames for details. */ + void map_symbol_filenames (symbol_filename_listener fun, bool need_fullname); + /* Add OBJFILE to the list of objfiles, putting it just before BEFORE. If BEFORE is nullptr, it will go at the end of the list. */ diff --git a/gdb/symfile.c b/gdb/symfile.c index 2a687c0..b15782e 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -3755,17 +3755,6 @@ symfile_free_objfile (struct objfile *objfile) objfile->pspace ()->remove_target_sections (objfile); } -/* Wrapper around the quick_symbol_functions map_symbol_filenames "method". - Map function FUN over every file. - See quick_symbol_functions.map_symbol_filenames for details. */ - -void -map_symbol_filenames (symbol_filename_listener fun, bool need_fullname) -{ - for (objfile &objfile : current_program_space->objfiles ()) - objfile.map_symbol_filenames (fun, need_fullname); -} - #if GDB_SELF_TEST namespace selftests { diff --git a/gdb/symfile.h b/gdb/symfile.h index 06509a6..7e7de38 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -345,8 +345,6 @@ symfile_segment_data_up get_symfile_segment_data (bfd *abfd); extern scoped_restore_tmpl<int> increment_reading_symtab (void); -void map_symbol_filenames (symbol_filename_listener fun, bool need_fullname); - /* Target-agnostic function to load the sections of an executable into memory. ARGS should be in the form "EXECUTABLE [OFFSET]", where OFFSET is an diff --git a/gdb/symtab.c b/gdb/symtab.c index aef4842..05a1fd0 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -4630,7 +4630,8 @@ info_sources_worker (struct ui_out *uiout, if (!group_by_objfile) { data.reset_output (); - map_symbol_filenames (data, true /*need_fullname*/); + current_program_space->map_symbol_filenames (data, + true /*need_fullname*/); } } @@ -6323,7 +6324,7 @@ make_source_files_completion_list (const char *text) datum.word = text; datum.text_len = text_len; datum.list = &list; - map_symbol_filenames (datum, false /*need_fullname*/); + current_program_space->map_symbol_filenames (datum, false /*need_fullname*/); return list; } |
