diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-02-14 13:17:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-14 13:17:11 +0100 |
| commit | 9e07083c0fc405621ae53f4786d330a74ae0606f (patch) | |
| tree | 1e46838d2c8782ec04631e0369d1f64a7bdf9f41 /src/libtools/threads.c | |
| parent | 78b51bc3676e6fc50644d618dbb5951b161247e5 (diff) | |
| parent | 77925f264fbb60d67fb83e9f2d7d27f5898f7982 (diff) | |
| download | box64-9e07083c0fc405621ae53f4786d330a74ae0606f.tar.gz box64-9e07083c0fc405621ae53f4786d330a74ae0606f.zip | |
Merge pull request #236 from rajdakin/backtrace_fix
Fixed the backtrace wrapper
Diffstat (limited to 'src/libtools/threads.c')
| -rwxr-xr-x | src/libtools/threads.c | 5 |
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; |