From 2b3147b2ed6336aed42b4539ac8e8ab52123dca5 Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Mon, 6 May 2024 12:53:59 -0700 Subject: [PATCH] [a64] Fix `CallIndirect` return address Should be `GUEST_RET_ADDR` not `GUEST_CALL_RET_ADDR`. --- src/xenia/cpu/backend/a64/a64_emitter.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xenia/cpu/backend/a64/a64_emitter.cc b/src/xenia/cpu/backend/a64/a64_emitter.cc index e36490ea5..744e2548a 100644 --- a/src/xenia/cpu/backend/a64/a64_emitter.cc +++ b/src/xenia/cpu/backend/a64/a64_emitter.cc @@ -528,7 +528,7 @@ void A64Emitter::CallIndirect(const hir::Instr* instr, // Pass the callers return address over. // mov(rcx, qword[rsp + StackLayout::GUEST_RET_ADDR]); - LDR(X0, SP, StackLayout::GUEST_CALL_RET_ADDR); + LDR(X0, SP, StackLayout::GUEST_RET_ADDR); // add(rsp, static_cast(stack_size())); ADD(SP, SP, static_cast(stack_size()));