about summary refs log tree commit diff stats
path: root/src/tools/box64stack.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-02-17 17:56:33 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-02-17 17:56:33 +0100
commit2200c4af6b38c771c7d44f8cbf606809915ae1d8 (patch)
tree53b2590d323869e8542787e79c8bae50f7c18c91 /src/tools/box64stack.c
parent838dfa453c4e1596ef3a9b60aed05a7cc34bee8e (diff)
downloadbox64-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-xsrc/tools/box64stack.c5
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;