diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-06 08:53:59 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-06 08:53:59 +0100 |
| commit | 869ddcfdda59a2e5555652acb84e47d22e597c85 (patch) | |
| tree | f2b39cdc29effa8f4cc8af53f5c780e7d1f858a3 /src | |
| parent | 65e5e86c2bdcddd2783f122bbde259cf31160f57 (diff) | |
| download | box64-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.c | 3 |
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); |