diff --git a/libexec/rtld-elf/powerpc/reloc.c b/libexec/rtld-elf/powerpc/reloc.c --- a/libexec/rtld-elf/powerpc/reloc.c +++ b/libexec/rtld-elf/powerpc/reloc.c @@ -838,10 +838,8 @@ __tls_get_addr(tls_index* ti) { uintptr_t **dtvp; - char *p; dtvp = &_tcb_get()->tcb_dtv; - p = tls_get_addr_common(dtvp, ti->ti_module, ti->ti_offset); - - return (p + TLS_DTV_OFFSET); + return (tls_get_addr_common(dtvp, ti->ti_module, ti->ti_offset + + TLS_DTV_OFFSET)); } diff --git a/libexec/rtld-elf/powerpc64/reloc.c b/libexec/rtld-elf/powerpc64/reloc.c --- a/libexec/rtld-elf/powerpc64/reloc.c +++ b/libexec/rtld-elf/powerpc64/reloc.c @@ -735,10 +735,8 @@ __tls_get_addr(tls_index* ti) { uintptr_t **dtvp; - char *p; dtvp = &_tcb_get()->tcb_dtv; - p = tls_get_addr_common(dtvp, ti->ti_module, ti->ti_offset); - - return (p + TLS_DTV_OFFSET); + return (tls_get_addr_common(dtvp, ti->ti_module, ti->ti_offset + + TLS_DTV_OFFSET)); } diff --git a/libexec/rtld-elf/riscv/reloc.c b/libexec/rtld-elf/riscv/reloc.c --- a/libexec/rtld-elf/riscv/reloc.c +++ b/libexec/rtld-elf/riscv/reloc.c @@ -496,10 +496,8 @@ __tls_get_addr(tls_index* ti) { uintptr_t **dtvp; - void *p; dtvp = &_tcb_get()->tcb_dtv; - p = tls_get_addr_common(dtvp, ti->ti_module, ti->ti_offset); - - return ((char*)p + TLS_DTV_OFFSET); + return (tls_get_addr_common(dtvp, ti->ti_module, ti->ti_offset + + TLS_DTV_OFFSET)); }