summaryrefslogtreecommitdiff
path: root/gdb/symtab.c
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 /gdb/symtab.c
parentb40a2e6d65715733f5d06b08fd4b5d2563eb068c (diff)
downloadgdb-0f0535ab0cac267fe4556bc4484f9f1a3b6e66b4.tar.gz
* symtab.c (find_line_symtab): scan through psymtabs
when exact_match is zero.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c8
1 files changed, 8 insertions, 0 deletions
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;