diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/minsyms.c | 9 | ||||
-rw-r--r-- | gdb/symtab.c | 5 |
3 files changed, 19 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fd634bc..07ac406 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2007-12-18 Daniel Jacobowitz <dan@codesourcery.com> + + * 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 <vladimir@codesourcery.com> * mi/mi-main.c (mi_cmd_list_features): Announce diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 4850797..cc1eed6 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 966bd73..f836878 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; } |