X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fminsyms.c;h=7cd7ba9f676de3f93f6d98c03f4206e763eecc16;hb=be6d4f74c77c6f521afc873d226480e001cb99c2;hp=2c3dd8023df517b01a68e344a68935d02e4c66d9;hpb=42a4f53d2bf8938c2aeda9f52be7a20534b214a9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 2c3dd8023d..7cd7ba9f67 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 : current_program_space->objfiles ()) + { + for (minimal_symbol *msymbol : objfile->msymbols ()) + { + /* 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; }