about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-01-22 16:46:45 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-01-22 16:46:45 +0100
commit07be405f48ab2571d9f14fff0b7dd87e10f17949 (patch)
treeb638e3fc4ad52d88a7c95ce40fc1d393ac4cf305 /src/emu
parent92d5210e3729e6d17c0285383478fe4f1a81602a (diff)
downloadbox64-07be405f48ab2571d9f14fff0b7dd87e10f17949.tar.gz
box64-07be405f48ab2571d9f14fff0b7dd87e10f17949.zip
Make sure Stack is aligned properly... (should help #1187 and ~1188)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64emu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/emu/x64emu.c b/src/emu/x64emu.c
index 2d747c92..0173ea22 100644
--- a/src/emu/x64emu.c
+++ b/src/emu/x64emu.c
@@ -561,6 +561,8 @@ void EmuCall(x64emu_t* emu, uintptr_t addr)
     uint64_t old_rip = R_RIP;
     //Push64(emu, GetRBP(emu));   // set frame pointer
     //SetRBP(emu, GetRSP(emu));   // save RSP
+    R_RSP -= 200;
+    R_RSP &= ~63LL;
     PushExit(emu);
     R_RIP = addr;
     emu->df = d_none;