about summary refs log tree commit diff stats
path: root/src/dynarec
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/dynarec
parent97857d55a02c41ab3b34f9c811ebd7b82f9a1894 (diff)
downloadbox64-77925f264fbb60d67fb83e9f2d7d27f5898f7982.tar.gz
box64-77925f264fbb60d67fb83e9f2d7d27f5898f7982.zip
Fixed the backtrace wrapper (uses eh_frame information only)
Diffstat (limited to 'src/dynarec')
-rwxr-xr-xsrc/dynarec/dynarec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dynarec/dynarec.c b/src/dynarec/dynarec.c
index 8edefa58..36fa85ad 100755
--- a/src/dynarec/dynarec.c
+++ b/src/dynarec/dynarec.c
@@ -111,6 +111,8 @@ void DynaCall(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;