[PATCH 2/4] s390: Define TLS_DTV_OFFSET instead of GET_ADDR_OFFSET
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Mon Dec 30 20:52:58 GMT 2024
On 27/12/24 12:37, Florian Weimer wrote:
> This will be used in __tls_get_addr to adjust the returned pointer
> value.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> sysdeps/s390/dl-tls.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/sysdeps/s390/dl-tls.h b/sysdeps/s390/dl-tls.h
> index dcbdfe477c..4b160745cc 100644
> --- a/sysdeps/s390/dl-tls.h
> +++ b/sysdeps/s390/dl-tls.h
> @@ -24,6 +24,9 @@ typedef struct
> unsigned long int ti_offset;
> } tls_index;
>
> +/* The DTV stores absolute addresses, but __tls_get_addr must return
> + TP-relative addresses. */
> +#define TLS_DTV_OFFSET (-(unsigned long int) __builtin_thread_pointer ())
>
> #ifdef SHARED
>
> @@ -89,9 +92,6 @@ __tls_get_offset:\n\
> extern void *__tls_get_addr_internal (tls_index *ti);
> # endif /* !IS_IN (rtld) */
>
> -# define GET_ADDR_OFFSET \
> - (ti->ti_offset - (unsigned long) __builtin_thread_pointer ())
> -
> /* Use the privately exported __tls_get_addr_internal instead of
> __tls_get_offset in order to avoid the __tls_get_offset special
> linkage requiring the GOT pointer to be set up in r12. The
More information about the Libc-alpha
mailing list