about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-05 21:00:38 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-05 21:00:38 +0200
commit450cad7a4d5c7f6aa011c670e7b9fec1f732a464 (patch)
tree4a3320ba99d539222212ba1b0cab578285656c4d /src
parentc1ee744205baf252c6ef764d5ade65789b70cc8e (diff)
downloadbox64-450cad7a4d5c7f6aa011c670e7b9fec1f732a464.tar.gz
box64-450cad7a4d5c7f6aa011c670e7b9fec1f732a464.zip
Fixed R_X86_64_TPOFF64 reloc on local elf (should help #31)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/elfs/elfloader.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c
index 7ebf8691..ba02cc39 100755
--- a/src/elfs/elfloader.c
+++ b/src/elfs/elfloader.c
@@ -700,10 +700,10 @@ int RelocateElfRELA(lib_t *maplib, lib_t *local_maplib, elfheader_t* head, int c
             case R_X86_64_TPOFF64:
                 // Negated offset in static TLS block
                 {
-                    //if(h_tls) {
-                    //    offs = sym->st_value;
-                    //} else 
-                    {
+                    if(!symname || !symname[0]) {
+                        h_tls = head;
+                        offs = sym->st_value;
+                    } else {
                         h_tls = NULL;
                         if(local_maplib)
                             h_tls = GetGlobalSymbolElf(local_maplib, symname, version, vername);