aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 5ccb44f..abcc44e 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 eeddddd..966bd73 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;