about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-12-06 08:53:59 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-12-06 08:53:59 +0100
commit869ddcfdda59a2e5555652acb84e47d22e597c85 (patch)
treef2b39cdc29effa8f4cc8af53f5c780e7d1f858a3 /src
parent65e5e86c2bdcddd2783f122bbde259cf31160f57 (diff)
downloadbox64-869ddcfdda59a2e5555652acb84e47d22e597c85.tar.gz
box64-869ddcfdda59a2e5555652acb84e47d22e597c85.zip
[WRAPPER] Another improved dlsym wrapped function, hopefully fixing regression (should help #2115)
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/wrappedlibdl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/wrapped/wrappedlibdl.c b/src/wrapped/wrappedlibdl.c
index d7831740..d8b73b34 100644
--- a/src/wrapped/wrappedlibdl.c
+++ b/src/wrapped/wrappedlibdl.c
@@ -428,8 +428,9 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
         int found = 0;
         if(ElfGetSymTabStartEnd(my_context->elfs[0], &start, &end, rsymbol))
             found = 1;
+        if(!found && GetGlobalSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, NULL, -1, NULL, 0, NULL)) 
+            found = 1;
         if(!found && GetSymTabStartEnd(my_context->maplib, rsymbol, &start, &end))
-        //if(!found && GetGlobalSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, NULL, -1, NULL, 0, NULL)) 
             found = 1;
         if(found) {
             printf_dlsym(LOG_NEVER, "%p\n", (void*)start);