about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-10 19:19:31 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-10 19:20:29 +0200
commit4a82f21cc3e7ca2a4c9b2518f82846e61e5bacfe (patch)
tree75e5d16cbe5e4262d9ff6c48064dd13aa11ed3ba /src
parent0cf707599dfa909f3b8c2cdd5cf65b1a63831d69 (diff)
downloadbox64-4a82f21cc3e7ca2a4c9b2518f82846e61e5bacfe.tar.gz
box64-4a82f21cc3e7ca2a4c9b2518f82846e61e5bacfe.zip
[BOX32] Fixed 32bits dlsym on RTLD_NEXT not working
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/wrappedlibdl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/wrapped/wrappedlibdl.c b/src/wrapped/wrappedlibdl.c
index 62744466..7d37f1e6 100644
--- a/src/wrapped/wrappedlibdl.c
+++ b/src/wrapped/wrappedlibdl.c
@@ -346,6 +346,8 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
     dlprivate_t *dl = my_context->dlprivate;
     uintptr_t start = 0, end = 0;
     char* rsymbol = (char*)symbol;
+    if(box64_is32bits && handle==(void*)0xffffffff)
+        handle = (void*)~0LL;
     CLEARERR
     printf_dlsym(LOG_DEBUG, "%04d|Call to dlsym(%p, \"%s\")%s", GetTID(), handle, rsymbol, dlsym_error?"":"\n");
     if(handle==NULL) {