diff options
Diffstat (limited to 'gdb/blockframe.c')
-rw-r--r-- | gdb/blockframe.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gdb/blockframe.c b/gdb/blockframe.c index 5de116e..270ce0e 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -195,7 +195,7 @@ find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, const char **name, struct obj_section *section; struct symbol *f; struct bound_minimal_symbol msymbol; - struct symtab *symtab = NULL; + struct compunit_symtab *compunit_symtab = NULL; struct objfile *objfile; int i; CORE_ADDR mapped_pc; @@ -220,13 +220,17 @@ find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, const char **name, ALL_OBJFILES (objfile) { if (objfile->sf) - symtab = objfile->sf->qf->find_pc_sect_symtab (objfile, msymbol, - mapped_pc, section, 0); - if (symtab) + { + compunit_symtab + = objfile->sf->qf->find_pc_sect_compunit_symtab (objfile, msymbol, + mapped_pc, section, + 0); + } + if (compunit_symtab != NULL) break; } - if (symtab) + if (compunit_symtab != NULL) { /* Checking whether the msymbol has a larger value is for the "pathological" case mentioned in print_frame_info. */ |