diff options
Diffstat (limited to 'src/libtools')
| -rw-r--r-- | src/libtools/threads.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c index 8de7f5e9..463777c2 100644 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -242,8 +242,8 @@ static void* pthread_routine(void* p) Push64(emu, 0); // PUSH BP R_RBP = R_RSP; // MOV BP, SP R_RSP -= 64; // Guard zone - if(R_RSP&0x8) // align if needed (shouldn't be) - R_RSP-=8; + R_RSP &= ~15LL; + R_RSP-=8; // make sure RSP is aligned inside thread function PushExit(emu); R_RIP = et->fnc; R_RDI = (uintptr_t)et->arg; |