X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fblockframe.c;h=b7ae1d9ff28825d1921d62a3fdfd33b256a8eb9b;hb=93692b589dc7017d5a2fbdffdfad5f84f597d8f1;hp=856b9efa1a6b754dffd09d96d643fcbd0106b6d4;hpb=3977b71f1dfd04b6ac2c14e1405ce251c31a38aa;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/blockframe.c b/gdb/blockframe.c index 856b9efa1a..b7ae1d9ff2 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -1,7 +1,7 @@ /* Get info from stack frames; convert between frames, blocks, functions and pc values. - Copyright (C) 1986-2014 Free Software Foundation, Inc. + Copyright (C) 1986-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -29,7 +29,6 @@ #include "inferior.h" #include "annotate.h" #include "regcache.h" -#include "gdb_assert.h" #include "dummy-frame.h" #include "command.h" #include "gdbcmd.h" @@ -196,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; @@ -221,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. */