summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>2007-10-24 13:25:16 +0000
committerCarlos Eduardo Seo <cseo@linux.vnet.ibm.com>2007-10-24 13:25:16 +0000
commit0f0535ab0cac267fe4556bc4484f9f1a3b6e66b4 (patch)
tree01fddb63f58adeab36e235d29ede9ef9fa4d58f2
parentb40a2e6d65715733f5d06b08fd4b5d2563eb068c (diff)
downloadgdb-0f0535ab0cac267fe4556bc4484f9f1a3b6e66b4.tar.gz
* symtab.c (find_line_symtab): scan through psymtabs
when exact_match is zero.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/symtab.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5ccb44f571f..abcc44e56a8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/symtab.c b/gdb/symtab.c
index eeddddd89d2..966bd7314be 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -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;