diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-02-17 17:56:33 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-02-17 17:56:33 +0100 |
| commit | 2200c4af6b38c771c7d44f8cbf606809915ae1d8 (patch) | |
| tree | 53b2590d323869e8542787e79c8bae50f7c18c91 /src/tools/box64stack.c | |
| parent | 838dfa453c4e1596ef3a9b60aed05a7cc34bee8e (diff) | |
| download | box64-2200c4af6b38c771c7d44f8cbf606809915ae1d8.tar.gz box64-2200c4af6b38c771c7d44f8cbf606809915ae1d8.zip | |
Various improvment to backtrace, protection tracking, and SHOWBT. Also SIGABRT is tracked like SIGSEGV, SIGILL and SIGBUS
Diffstat (limited to 'src/tools/box64stack.c')
| -rwxr-xr-x | src/tools/box64stack.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/box64stack.c b/src/tools/box64stack.c index 174a2d09..42412e29 100755 --- a/src/tools/box64stack.c +++ b/src/tools/box64stack.c @@ -12,6 +12,9 @@ #include "emu/x64run_private.h" #include "auxval.h" +// from src/wrapped/wrappedlibc.c +void* my_mmap(x64emu_t* emu, void* addr, unsigned long length, int prot, int flags, int fd, int64_t offset); + EXPORTDYN int CalcStackSize(box64context_t *context) { @@ -21,7 +24,7 @@ int CalcStackSize(box64context_t *context) CalcStack(context->elfs[i], &context->stacksz, &context->stackalign); //if (posix_memalign((void**)&context->stack, context->stackalign, context->stacksz)) { - context->stack = mmap(NULL, context->stacksz, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0); + context->stack = my_mmap(NULL, NULL, context->stacksz, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0); if (context->stack==(void*)-1) { printf_log(LOG_NONE, "Cannot allocate aligned memory (0x%lx/0x%zx) for stack\n", context->stacksz, context->stackalign); return 1; |