From 56e3f43cb65608a19ca9005d77c96a66e6e4d7cb Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 18 Dec 2007 16:02:54 +0000 Subject: [PATCH] * minsyms.c (lookup_minimal_symbol): Also check the separate debug objfile. (lookup_minimal_symbol_text): Likewise. (lookup_minimal_symbol_solib_trampoline): Likewise. * symtab.c (lookup_global_symbol_from_objfile): Likewise. --- gdb/ChangeLog | 8 ++++++++ gdb/minsyms.c | 9 ++++++--- gdb/symtab.c | 5 +++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fd634bc9433..07ac4065c9f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2007-12-18 Daniel Jacobowitz + + * minsyms.c (lookup_minimal_symbol): Also check the separate + debug objfile. + (lookup_minimal_symbol_text): Likewise. + (lookup_minimal_symbol_solib_trampoline): Likewise. + * symtab.c (lookup_global_symbol_from_objfile): Likewise. + 2007-12-18 Vladimir Prus * mi/mi-main.c (mi_cmd_list_features): Announce diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 48507976137..cc1eed65836 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -176,7 +176,8 @@ lookup_minimal_symbol (const char *name, const char *sfile, objfile != NULL && found_symbol == NULL; objfile = objfile->next) { - if (objf == NULL || objf == objfile) + if (objf == NULL || objf == objfile + || objf->separate_debug_objfile == objfile) { /* Do two passes: the first over the ordinary hash table, and the second over the demangled hash table. */ @@ -274,7 +275,8 @@ lookup_minimal_symbol_text (const char *name, struct objfile *objf) objfile != NULL && found_symbol == NULL; objfile = objfile->next) { - if (objf == NULL || objf == objfile) + if (objf == NULL || objf == objfile + || objf->separate_debug_objfile == objfile) { for (msymbol = objfile->msymbol_hash[hash]; msymbol != NULL && found_symbol == NULL; @@ -330,7 +332,8 @@ lookup_minimal_symbol_solib_trampoline (const char *name, objfile != NULL && found_symbol == NULL; objfile = objfile->next) { - if (objf == NULL || objf == objfile) + if (objf == NULL || objf == objfile + || objf->separate_debug_objfile == objfile) { for (msymbol = objfile->msymbol_hash[hash]; msymbol != NULL && found_symbol == NULL; diff --git a/gdb/symtab.c b/gdb/symtab.c index 966bd7314be..f83687830c3 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1363,6 +1363,11 @@ lookup_global_symbol_from_objfile (const struct objfile *objfile, } } + if (objfile->separate_debug_objfile) + return lookup_global_symbol_from_objfile (objfile->separate_debug_objfile, + name, linkage_name, domain, + symtab); + return NULL; } -- 2.30.2