about summary refs log tree commit diff stats
path: root/src/libtools/threads.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtools/threads.c')
-rwxr-xr-xsrc/libtools/threads.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c
index 8f94692a..f16a7b08 100755
--- a/src/libtools/threads.c
+++ b/src/libtools/threads.c
@@ -234,9 +234,10 @@ static void* pthread_routine(void* p)
 	et->emu->type = EMUTYPE_MAIN;
 	// setup callstack and run...
 	x64emu_t* emu = et->emu;
-	Push64(emu, 0);		// PUSH BP
+	Push64(emu, 0);	// PUSH 0 (backtrace marker: return address is 0)
+	Push64(emu, 0);	// PUSH BP
 	R_RBP = R_RSP;	// MOV BP, SP
-	R_RSP -= 56;	// Gard zone
+	R_RSP -= 56;	// Guard zone
 	PushExit(emu);
 	R_RIP = et->fnc;
 	R_RDI = (uintptr_t)et->arg;