about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorrajdakin <rajdakin@gmail.com>2022-02-14 13:13:12 +0100
committerrajdakin <rajdakin@gmail.com>2022-02-14 13:13:12 +0100
commit77925f264fbb60d67fb83e9f2d7d27f5898f7982 (patch)
tree655d59df7b98083499875594603b887fb43e13a5 /src/emu
parent97857d55a02c41ab3b34f9c811ebd7b82f9a1894 (diff)
downloadbox64-77925f264fbb60d67fb83e9f2d7d27f5898f7982.tar.gz
box64-77925f264fbb60d67fb83e9f2d7d27f5898f7982.zip
Fixed the backtrace wrapper (uses eh_frame information only)
Diffstat (limited to 'src/emu')
-rwxr-xr-xsrc/emu/x64emu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/emu/x64emu.c b/src/emu/x64emu.c
index 907c0acc..d27fb5fd 100755
--- a/src/emu/x64emu.c
+++ b/src/emu/x64emu.c
@@ -459,6 +459,8 @@ void EmuCall(x64emu_t* emu, uintptr_t addr)
     uint64_t old_rsi = R_RSI;
     uint64_t old_rbp = R_RBP;
     uint64_t old_rip = R_RIP;
+    Push64(emu, GetRBP(emu));   // set frame pointer
+    SetRBP(emu, GetRSP(emu));   // save RSP
     PushExit(emu);
     R_RIP = addr;
     emu->df = d_none;