summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldso/ldso/aarch64/elfinterp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ldso/ldso/aarch64/elfinterp.c b/ldso/ldso/aarch64/elfinterp.c
index 9365569cc..d8530ecd1 100644
--- a/ldso/ldso/aarch64/elfinterp.c
+++ b/ldso/ldso/aarch64/elfinterp.c
@@ -227,13 +227,13 @@ _dl_do_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope,
#else
if (!TRY_STATIC_TLS ((struct link_map *) tls_tpnt))
{
- td->arg = _dl_make_tlsdesc_dynamic((struct link_map *) tls_tpnt, symbol_addr);
+ td->arg = _dl_make_tlsdesc_dynamic((struct link_map *) tls_tpnt, symbol_addr + rpnt->r_addend);
td->entry = _dl_tlsdesc_dynamic;
}
else
#endif
{
- td->arg = (void*)(symbol_addr + tls_tpnt->l_tls_offset);
+ td->arg = (void*)(symbol_addr + tls_tpnt->l_tls_offset + rpnt->r_addend);
td->entry = _dl_tlsdesc_return;
}
}