* symtab.c (find_line_symtab): scan through psymtabs
authorCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Wed, 24 Oct 2007 13:25:16 +0000 (13:25 +0000)
committerCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Wed, 24 Oct 2007 13:25:16 +0000 (13:25 +0000)
when exact_match is zero.

gdb/ChangeLog
gdb/symtab.c

index 5ccb44f571f82df251e28742016973646dcd6de4..abcc44e56a8ea788ab399867cc515dc055bcd006 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-24  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
+
+       * symtab.c (find_line_symtab): scan through psymtabs
+       when exact_match is zero.
+
 2007-10-23  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>
 
        * mips-tdep.c (LL_OPCODE, LLD_OPCODE, SC_OPCODE, SCD_OPCODE): Define.
index eeddddd89d2312d87af11e1b7fb6448b2026086a..966bd7314be14a64002136a0603ab6d8ed60421a 100644 (file)
@@ -2281,12 +2281,20 @@ find_line_symtab (struct symtab *symtab, int line, int *index, int *exact_match)
 
       struct objfile *objfile;
       struct symtab *s;
+      struct partial_symtab *p;
 
       if (best_index >= 0)
        best = best_linetable->item[best_index].line;
       else
        best = 0;
 
+      ALL_PSYMTABS (objfile, p)
+      {
+        if (strcmp (symtab->filename, p->filename) != 0)
+          continue;
+        PSYMTAB_TO_SYMTAB (p);
+      }
+
       ALL_SYMTABS (objfile, s)
       {
        struct linetable *l;