about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-07-08 17:36:54 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-07-08 17:36:54 +0200
commit55306b1d3d10e00ac7e5991a63a30696d0467cf3 (patch)
tree305330f057a778910c74b64156ab64f1c167925e /src
parentab2d68ef45c729134d92e9dad0d78c1fa035a489 (diff)
downloadbox64-55306b1d3d10e00ac7e5991a63a30696d0467cf3.tar.gz
box64-55306b1d3d10e00ac7e5991a63a30696d0467cf3.zip
Fixed an issue with Alternate address and PltResolver
Diffstat (limited to 'src')
-rwxr-xr-xsrc/elfs/elfloader.c1
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));