diff options
author | Tom Tromey <tom@tromey.com> | 2018-11-23 17:32:08 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-01-09 18:28:15 -0700 |
commit | 5325b9bf1ee283c40f076334eb3ea66e1f0a6ade (patch) | |
tree | 4964d0282ac4cb82ed0a6691cbccf4062c3799d8 /gdb/minsyms.c | |
parent | cac85af2467c9bac326b397b150274d95d2916a5 (diff) | |
download | gdb-5325b9bf1ee283c40f076334eb3ea66e1f0a6ade.zip gdb-5325b9bf1ee283c40f076334eb3ea66e1f0a6ade.tar.gz gdb-5325b9bf1ee283c40f076334eb3ea66e1f0a6ade.tar.bz2 |
Remove ALL_MSYMBOLS and ALL_OBJFILE_MSYMBOLS
This removes the ALL_MSYMBOLS and ALL_OBJFILE_MSYMBOLS macros,
replacing their uses with ranged for loops.
In a couple of spots, a new declaration was needed in order to work
around shadowing; these are just temporary and are removed in a
subsequent patch.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (search_symbols)
(default_collect_symbol_completion_matches_break_on): Use
objfile_msymbols.
* ada-lang.c (ada_lookup_simple_minsym)
(ada_collect_symbol_completion_matches): Use objfile_msymbols.
* minsyms.c (find_solib_trampoline_target): Use objfile_msymbols.
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Use
objfile_msymbols.
* coffread.c (coff_symfile_read): Use objfile_msymbols.
* symmisc.c (dump_msymbols): Use objfile_msymbols.
* objc-lang.c (find_methods): Use objfile_msymbols.
(info_selectors_command, info_classes_command): Likewise.
* stabsread.c (scan_file_globals): Use objfile_msymbols.
* objfiles.h (class objfile_msymbols): New.
(ALL_OBJFILE_MSYMBOLS): Remove.
(ALL_MSYMBOLS): Remove.
Diffstat (limited to 'gdb/minsyms.c')
-rw-r--r-- | gdb/minsyms.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 2c3dd80..d090226 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -1488,30 +1488,32 @@ lookup_solib_trampoline_symbol_by_pc (CORE_ADDR pc) CORE_ADDR find_solib_trampoline_target (struct frame_info *frame, CORE_ADDR pc) { - struct objfile *objfile; - struct minimal_symbol *msymbol; struct minimal_symbol *tsymbol = lookup_solib_trampoline_symbol_by_pc (pc); if (tsymbol != NULL) { - ALL_MSYMBOLS (objfile, msymbol) - { - /* Also handle minimal symbols pointing to function descriptors. */ - if ((MSYMBOL_TYPE (msymbol) == mst_text - || MSYMBOL_TYPE (msymbol) == mst_text_gnu_ifunc - || MSYMBOL_TYPE (msymbol) == mst_data - || MSYMBOL_TYPE (msymbol) == mst_data_gnu_ifunc) - && strcmp (MSYMBOL_LINKAGE_NAME (msymbol), - MSYMBOL_LINKAGE_NAME (tsymbol)) == 0) - { - CORE_ADDR func; + for (objfile *objfile : all_objfiles (current_program_space)) + { + for (minimal_symbol *msymbol : objfile_msymbols (objfile)) + { + /* Also handle minimal symbols pointing to function + descriptors. */ + if ((MSYMBOL_TYPE (msymbol) == mst_text + || MSYMBOL_TYPE (msymbol) == mst_text_gnu_ifunc + || MSYMBOL_TYPE (msymbol) == mst_data + || MSYMBOL_TYPE (msymbol) == mst_data_gnu_ifunc) + && strcmp (MSYMBOL_LINKAGE_NAME (msymbol), + MSYMBOL_LINKAGE_NAME (tsymbol)) == 0) + { + CORE_ADDR func; - /* Ignore data symbols that are not function - descriptors. */ - if (msymbol_is_function (objfile, msymbol, &func)) - return func; - } - } + /* Ignore data symbols that are not function + descriptors. */ + if (msymbol_is_function (objfile, msymbol, &func)) + return func; + } + } + } } return 0; } |