about summary refs log tree commit diff stats
path: root/src/tools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-01-17 15:08:41 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-01-17 15:08:41 +0100
commit666506e8347bb13dc0441105f952ea1e9d717d9f (patch)
tree8e8a61d4c18fdf75c505c2cbe0b4a4e183e6be83 /src/tools
parent21c0a2e7d762c4b42f80f8ee87a43bb99f510e0a (diff)
downloadbox64-666506e8347bb13dc0441105f952ea1e9d717d9f.tar.gz
box64-666506e8347bb13dc0441105f952ea1e9d717d9f.zip
[BOX32] Fixed some issue with previous commit on box32 loading wine/proton
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/bridge.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/bridge.c b/src/tools/bridge.c
index 3a995e31..c6dd885d 100644
--- a/src/tools/bridge.c
+++ b/src/tools/bridge.c
@@ -61,7 +61,10 @@ bridge_t *NewBridge()
     // it also test if an internal symbol "sc_seccomp" address's is also > 0x700000000000 before enabling seccomp syscall filter.
     // This hack  allow the test to pass, but only if the system has at least 47bits address space.
     // it will not work on 39bits address space and will need more hacks there
-    b->head = NewBrick((!box64_is32bits && box64_wine)?((void*)0x700000000000LL):NULL);
+    void* load_addr = NULL;
+    if((!box64_is32bits && box64_wine && my_context->exit_bridge))  // a first bridge is create for system use, before box64_is32bits can be computed, so use exit_bridge to detect that
+        load_addr = (void*)0x700000000000LL;
+    b->head = NewBrick(load_addr);
     b->last = b->head;
     b->bridgemap = kh_init(bridgemap);