* minsyms.c (lookup_minimal_symbol): Also check the separate
authorDaniel Jacobowitz <drow@false.org>
Tue, 18 Dec 2007 16:02:54 +0000 (16:02 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 18 Dec 2007 16:02:54 +0000 (16:02 +0000)
debug objfile.
(lookup_minimal_symbol_text): Likewise.
(lookup_minimal_symbol_solib_trampoline): Likewise.
* symtab.c (lookup_global_symbol_from_objfile): Likewise.

gdb/ChangeLog
gdb/minsyms.c
gdb/symtab.c

index fd634bc9433c19868d56dba5c74d8eb74cd45a65..07ac4065c9f7470acae29d14207f477eb72c2fbb 100644 (file)
@@ -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
index 485079761371d916b66bd97a928fe808f67da9d3..cc1eed65836ad326c5f247f533be12da879c1384 100644 (file)
@@ -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;
index 966bd7314be14a64002136a0603ab6d8ed60421a..f83687830c37e02f14226dd523ac2ae1d402f740 100644 (file)
@@ -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;
 }