From 1a2b4a38e07569e9fe83bb2dc22f963dc2133186 Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Mon, 8 Jun 2015 23:37:51 -0700 Subject: [PATCH] Fixing spurious function declarations. --- src/xenia/cpu/frontend/ppc_scanner.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/xenia/cpu/frontend/ppc_scanner.cc b/src/xenia/cpu/frontend/ppc_scanner.cc index aa1deb3c1..397b41ba0 100644 --- a/src/xenia/cpu/frontend/ppc_scanner.cc +++ b/src/xenia/cpu/frontend/ppc_scanner.cc @@ -34,11 +34,14 @@ PPCScanner::PPCScanner(PPCFrontend* frontend) : frontend_(frontend) {} PPCScanner::~PPCScanner() {} bool PPCScanner::IsRestGprLr(uint32_t address) { - FunctionInfo* symbol_info; - if (!frontend_->processor()->LookupFunctionInfo(address, &symbol_info)) { - return false; + auto functions = frontend_->processor()->FindFunctionsWithAddress(address); + for (auto& function : functions) { + if (function->symbol_info()->behavior() == + FunctionBehavior::kEpilogReturn) { + return true; + } } - return symbol_info->behavior() == FunctionBehavior::kEpilogReturn; + return false; } bool PPCScanner::Scan(FunctionInfo* symbol_info, DebugInfo* debug_info) {