about summary refs log tree commit diff stats
path: root/src/box64context.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-05-10 17:21:14 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-05-10 17:21:14 +0200
commit1f4cc1cf884e0c7befdfea601def2291e54459be (patch)
tree53f57aeff400515e4a025725d3cd6bde22db0dd2 /src/box64context.c
parent92dd53177f0119c0638c057ea7da5204046846d0 (diff)
downloadbox64-1f4cc1cf884e0c7befdfea601def2291e54459be.tar.gz
box64-1f4cc1cf884e0c7befdfea601def2291e54459be.zip
Optimized Exit bridge managment
Diffstat (limited to 'src/box64context.c')
-rwxr-xr-xsrc/box64context.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/box64context.c b/src/box64context.c
index b08b5e2a..fc626305 100755
--- a/src/box64context.c
+++ b/src/box64context.c
@@ -213,6 +213,7 @@ box64context_t *NewBox64Context(int argc)
     context->local_maplib = NewLibrarian(context, 1);
     context->versym = NewDictionnary();
     context->system = NewBridge();
+    // Cannot use Bridge name as the map is not initialized yet
     // create vsyscall
     context->vsyscall = AddBridge(context->system, vFEv, x64Syscall, 0, NULL);
     // create the vsyscalls
@@ -223,6 +224,8 @@ box64context_t *NewBox64Context(int argc)
     addAlternate((void*)0xffffffffff600000, (void*)context->vsyscalls[0]);
     addAlternate((void*)0xffffffffff600400, (void*)context->vsyscalls[1]);
     addAlternate((void*)0xffffffffff600800, (void*)context->vsyscalls[2]);
+    // create exit bridge
+    context->exit_bridge = AddBridge(context->system, NULL, NULL, 0, NULL);
     // get handle to box64 itself
     context->box64lib = dlopen(NULL, RTLD_NOW|RTLD_GLOBAL);
     context->dlprivate = NewDLPrivate();