diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/symtab.c | 8 |
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; |