diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-07-08 17:36:54 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-07-08 17:36:54 +0200 |
| commit | 55306b1d3d10e00ac7e5991a63a30696d0467cf3 (patch) | |
| tree | 305330f057a778910c74b64156ab64f1c167925e /src | |
| parent | ab2d68ef45c729134d92e9dad0d78c1fa035a489 (diff) | |
| download | box64-55306b1d3d10e00ac7e5991a63a30696d0467cf3.tar.gz box64-55306b1d3d10e00ac7e5991a63a30696d0467cf3.zip | |
Fixed an issue with Alternate address and PltResolver
Diffstat (limited to 'src')
| -rwxr-xr-x | src/elfs/elfloader.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 701f1164..4caa07ce 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -1860,6 +1860,7 @@ EXPORT void PltResolver(x64emu_t* emu) printf_dump(LOG_DEBUG, "symbol %s from %s but elf not initialized yet, run Init now (from %s)\n", symname, ElfName(sym_elf), ElfName(h)); RunElfInitPltResolver(sym_elf, emu); } + offs = (uintptr_t)getAlternate((void*)offs); if(p) { printf_dump(LOG_DEBUG, " Apply %s R_X86_64_JUMP_SLOT %p with sym=%s(ver %d: %s%s%s) (%p -> %p / %s)\n", (bind==STB_LOCAL)?"Local":"Global", p, symname, version, symname, vername?"@":"", vername?vername:"",*(void**)p, (void*)offs, ElfName(sym_elf)); |