about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-09 19:45:48 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-09 19:45:48 +0200
commit1b48cd157aebdef76a45b8e85c53a544cf7c9b48 (patch)
treecbb5cbd22bbe152aaf029cd5dbb550cd4be5eaed /src/libtools
parent362402ffbf09d4eefde80b6d15b7d73c9b6a377a (diff)
downloadbox64-1b48cd157aebdef76a45b8e85c53a544cf7c9b48.tar.gz
box64-1b48cd157aebdef76a45b8e85c53a544cf7c9b48.zip
[RCFILE] Slightly changed how BOX64_ARGS behave, and added BOX64_INSERT_ARGS
Diffstat (limited to 'src/libtools')
-rw-r--r--src/libtools/threads.c4
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;