along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
-
-/* Local non-gdb includes. */
-#include "annotate.h"
+#include "symtab.h"
#include "bfd.h"
-#include "block.h"
-#include "command.h"
-#include "dummy-frame.h"
+#include "objfiles.h"
#include "frame.h"
-#include "gdbcmd.h"
#include "gdbcore.h"
+#include "value.h"
+#include "target.h"
#include "inferior.h"
-#include "inline-frame.h"
-#include "objfiles.h"
+#include "annotate.h"
#include "regcache.h"
-#include "symtab.h"
-#include "target.h"
-#include "value.h"
+#include "dummy-frame.h"
+#include "command.h"
+#include "gdbcmd.h"
+#include "block.h"
+#include "inline-frame.h"
/* Return the innermost lexical block in execution in a specified
stack frame. The frame address is assumed valid.
/* See symtab.h. */
-int
+bool
find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address,
CORE_ADDR *endaddr, const struct block **block)
{
struct compunit_symtab *compunit_symtab = NULL;
CORE_ADDR mapped_pc;
- /* To ensure that the symbol returned belongs to the correct setion
+ /* To ensure that the symbol returned belongs to the correct section
(and that the last [random] symbol from the previous section
isn't returned) try to find the section containing PC. First try
the overlay code (which by default returns NULL); and second try
{
const struct block *b = SYMBOL_BLOCK_VALUE (f);
- cache_pc_function_name = SYMBOL_LINKAGE_NAME (f);
+ cache_pc_function_name = f->linkage_name ();
cache_pc_function_section = section;
cache_pc_function_block = b;
*address = 0;
if (endaddr != NULL)
*endaddr = 0;
- return 0;
+ if (block != nullptr)
+ *block = nullptr;
+ return false;
}
cache_pc_function_low = BMSYMBOL_VALUE_ADDRESS (msymbol);
- cache_pc_function_name = MSYMBOL_LINKAGE_NAME (msymbol.minsym);
+ cache_pc_function_name = msymbol.minsym->linkage_name ();
cache_pc_function_section = section;
cache_pc_function_high = minimal_symbol_upper_bound (msymbol);
cache_pc_function_block = nullptr;
if (block != nullptr)
*block = cache_pc_function_block;
- return 1;
+ return true;
}
/* See symtab.h. */