diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-06-02 12:42:32 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-06-02 12:42:32 +0200 |
| commit | f6444c8d45c187b7d028e2c79471a0498fde9edb (patch) | |
| tree | d6522ffb605e2de9bec8bf7fe4440f5e02197df6 /src | |
| parent | df96dd006048485dcff3163199c507fff2b81e14 (diff) | |
| download | box64-f6444c8d45c187b7d028e2c79471a0498fde9edb.tar.gz box64-f6444c8d45c187b7d028e2c79471a0498fde9edb.zip | |
Added fallback to no version in PltResolver for ver=0 symbol not found
Diffstat (limited to 'src')
| -rwxr-xr-x | src/elfs/elfloader.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 01ff7f88..1750ff75 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -1478,6 +1478,8 @@ EXPORT void PltResolver(x64emu_t* emu) if(!offs && !end && local_maplib) { GetGlobalSymbolStartEnd(local_maplib, symname, &offs, &end, h, version, vername); } + if(!offs && !end && !version) + GetGlobalSymbolStartEnd(my_context->maplib, symname, &offs, &end, h, -1, NULL); if (!offs) { printf_log(LOG_NONE, "Error: PltReolver: Symbol %s(ver %d: %s%s%s) not found, cannot apply R_X86_64_JUMP_SLOT %p (%p) in %s\n", symname, version, symname, vername?"@":"", vername?vername:"", p, *(void**)p, h->name); |