diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-04-09 01:12:55 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-08 19:12:55 +0200 |
| commit | d592c1996d74e9e6e728026486cdab6a75f43aaa (patch) | |
| tree | 935f142dff05d4640f2cd5865f8d63f8c3ca8cf9 /src/libtools/threads.c | |
| parent | 8b3d4404d77bcc806631e17038f046d409cb6b69 (diff) | |
| download | box64-d592c1996d74e9e6e728026486cdab6a75f43aaa.tar.gz box64-d592c1996d74e9e6e728026486cdab6a75f43aaa.zip | |
[WOW64] Add wow64 PE build scaffolding (#2513)
Diffstat (limited to 'src/libtools/threads.c')
| -rw-r--r-- | src/libtools/threads.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c index 2454f929..02ada9ca 100644 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -206,8 +206,8 @@ x64emu_t* thread_get_emu() if(box64_is32bits) stack = mmap64(NULL, stacksize, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_32BIT, -1, 0); else - stack = internal_mmap(NULL, stacksize, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0); - if(stack!=MAP_FAILED) + stack = InternalMmap(NULL, stacksize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_GROWSDOWN, -1, 0); + if(stack!=MAP_FAILED) setProtection((uintptr_t)stack, stacksize, PROT_READ|PROT_WRITE); x64emu_t *emu = NewX64Emu(my_context, 0, (uintptr_t)stack, stacksize, 1); SetupX64Emu(emu, NULL); @@ -523,8 +523,8 @@ EXPORT int my_pthread_create(x64emu_t *emu, void* t, void* attr, void* start_rou stacksize = attr_stacksize; own = 0; } else { - stack = internal_mmap(NULL, stacksize, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0); - if(stack!=MAP_FAILED) + stack = InternalMmap(NULL, stacksize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_GROWSDOWN, -1, 0); + if(stack!=MAP_FAILED) setProtection((uintptr_t)stack, stacksize, PROT_READ|PROT_WRITE); own = 1; } @@ -552,8 +552,8 @@ EXPORT int my_pthread_create(x64emu_t *emu, void* t, void* attr, void* start_rou void* my_prepare_thread(x64emu_t *emu, void* f, void* arg, int ssize, void** pet) { int stacksize = (ssize)?ssize:(2*1024*1024); //default stack size is 2Mo - void* stack = internal_mmap(NULL, stacksize, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0); - if(stack!=MAP_FAILED) + void* stack = InternalMmap(NULL, stacksize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_GROWSDOWN, -1, 0); + if(stack!=MAP_FAILED) setProtection((uintptr_t)stack, stacksize, PROT_READ|PROT_WRITE); emuthread_t *et = (emuthread_t*)box_calloc(1, sizeof(emuthread_t)); x64emu_t *emuthread = NewX64Emu(emu->context, (uintptr_t)f, (uintptr_t)stack, stacksize, 1); |