diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-10 19:19:31 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-10 19:20:29 +0200 |
| commit | 4a82f21cc3e7ca2a4c9b2518f82846e61e5bacfe (patch) | |
| tree | 75e5d16cbe5e4262d9ff6c48064dd13aa11ed3ba /src | |
| parent | 0cf707599dfa909f3b8c2cdd5cf65b1a63831d69 (diff) | |
| download | box64-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.c | 2 |
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) { |