diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-05 21:00:38 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-05 21:00:38 +0200 |
| commit | 450cad7a4d5c7f6aa011c670e7b9fec1f732a464 (patch) | |
| tree | 4a3320ba99d539222212ba1b0cab578285656c4d /src | |
| parent | c1ee744205baf252c6ef764d5ade65789b70cc8e (diff) | |
| download | box64-450cad7a4d5c7f6aa011c670e7b9fec1f732a464.tar.gz box64-450cad7a4d5c7f6aa011c670e7b9fec1f732a464.zip | |
Fixed R_X86_64_TPOFF64 reloc on local elf (should help #31)
Diffstat (limited to 'src')
| -rwxr-xr-x | src/elfs/elfloader.c | 8 |
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); |