about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-02-14 13:17:11 +0100
committerGitHub <noreply@github.com>2022-02-14 13:17:11 +0100
commit9e07083c0fc405621ae53f4786d330a74ae0606f (patch)
tree1e46838d2c8782ec04631e0369d1f64a7bdf9f41 /src/dynarec
parent78b51bc3676e6fc50644d618dbb5951b161247e5 (diff)
parent77925f264fbb60d67fb83e9f2d7d27f5898f7982 (diff)
downloadbox64-9e07083c0fc405621ae53f4786d330a74ae0606f.tar.gz
box64-9e07083c0fc405621ae53f4786d330a74ae0606f.zip
Merge pull request #236 from rajdakin/backtrace_fix
Fixed the backtrace wrapper
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;