diff options
-rw-r--r-- | ldso/ldso/xtensa/elfinterp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ldso/ldso/xtensa/elfinterp.c b/ldso/ldso/xtensa/elfinterp.c index 4c83ab65e..e38a02666 100644 --- a/ldso/ldso/xtensa/elfinterp.c +++ b/ldso/ldso/xtensa/elfinterp.c @@ -244,10 +244,11 @@ _dl_do_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope, if (!TRY_STATIC_TLS ((struct link_map *) tls_tpnt)) *reloc_addr = (ElfW(Addr)) _dl_make_tlsdesc_dynamic((struct link_map *) tls_tpnt, - symbol_addr + *reloc_addr); + symbol_addr + rpnt->r_addend); else #endif - *reloc_addr += symbol_addr + tls_tpnt->l_tls_offset; + *reloc_addr = symbol_addr + rpnt->r_addend + + tls_tpnt->l_tls_offset; break; #endif |