[PATCH 4/4] elf: Remove the remaining uses of GET_ADDR_OFFSET
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Mon Dec 30 22:23:19 GMT 2024
On 27/12/24 12:37, Florian Weimer wrote:
> Expand the macro where it is used in static definitions of
> __tls_get_addr.
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> sysdeps/loongarch/dl-tls.h | 1 -
> sysdeps/loongarch/libc-tls.c | 2 +-
> sysdeps/m68k/dl-tls.h | 1 -
> sysdeps/m68k/libc-tls.c | 2 +-
> sysdeps/mips/dl-tls.h | 3 +--
> sysdeps/mips/libc-tls.c | 2 +-
> sysdeps/powerpc/dl-tls.h | 1 -
> sysdeps/riscv/dl-tls.h | 1 -
> sysdeps/riscv/libc-tls.c | 2 +-
> 9 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/sysdeps/loongarch/dl-tls.h b/sysdeps/loongarch/dl-tls.h
> index de593c002d..882bf2f6bd 100644
> --- a/sysdeps/loongarch/dl-tls.h
> +++ b/sysdeps/loongarch/dl-tls.h
> @@ -42,7 +42,6 @@ extern void *__tls_get_addr (tls_index *ti);
> /* Compute the value for a DTPREL reloc. */
> #define TLS_DTPREL_VALUE(sym) ((sym)->st_value - TLS_DTV_OFFSET)
>
> -#define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET)
> #define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
>
> /* Value used for dtv entries for which the allocation is delayed. */
> diff --git a/sysdeps/loongarch/libc-tls.c b/sysdeps/loongarch/libc-tls.c
> index c8d87a8a34..d69a659812 100644
> --- a/sysdeps/loongarch/libc-tls.c
> +++ b/sysdeps/loongarch/libc-tls.c
> @@ -28,5 +28,5 @@ void *
> __tls_get_addr (tls_index *ti)
> {
> dtv_t *dtv = THREAD_DTV ();
> - return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
> + return (char *) dtv[1].pointer.val + ti->ti_offset + TLS_DTV_OFFSET;
> }
> diff --git a/sysdeps/m68k/dl-tls.h b/sysdeps/m68k/dl-tls.h
> index 967c84f1a2..c7c001d1b7 100644
> --- a/sysdeps/m68k/dl-tls.h
> +++ b/sysdeps/m68k/dl-tls.h
> @@ -42,5 +42,4 @@ typedef struct
>
> extern void *__tls_get_addr (tls_index *ti);
>
> -#define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET)
> #define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
> diff --git a/sysdeps/m68k/libc-tls.c b/sysdeps/m68k/libc-tls.c
> index 10f56189cc..64275899ae 100644
> --- a/sysdeps/m68k/libc-tls.c
> +++ b/sysdeps/m68k/libc-tls.c
> @@ -28,5 +28,5 @@ void *
> __tls_get_addr (tls_index *ti)
> {
> dtv_t *dtv = THREAD_DTV ();
> - return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
> + return (char *) dtv[1].pointer.val + ti->ti_offset + TLS_DTV_OFFSET;
> }
> diff --git a/sysdeps/mips/dl-tls.h b/sysdeps/mips/dl-tls.h
> index 98bc5962d3..d9b5201f24 100644
> --- a/sysdeps/mips/dl-tls.h
> +++ b/sysdeps/mips/dl-tls.h
> @@ -41,5 +41,4 @@ typedef struct
>
> extern void *__tls_get_addr (tls_index *ti);
>
> -# define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET)
> -# define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
> +#define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
> diff --git a/sysdeps/mips/libc-tls.c b/sysdeps/mips/libc-tls.c
> index 895f9e7df8..02574fa319 100644
> --- a/sysdeps/mips/libc-tls.c
> +++ b/sysdeps/mips/libc-tls.c
> @@ -28,5 +28,5 @@ void *
> __tls_get_addr (tls_index *ti)
> {
> dtv_t *dtv = THREAD_DTV ();
> - return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
> + return (char *) dtv[1].pointer.val + ti->ti_offset + TLS_DTV_OFFSET;
> }
> diff --git a/sysdeps/powerpc/dl-tls.h b/sysdeps/powerpc/dl-tls.h
> index 8ed2a41609..be323eab2f 100644
> --- a/sysdeps/powerpc/dl-tls.h
> +++ b/sysdeps/powerpc/dl-tls.h
> @@ -45,7 +45,6 @@ typedef struct
> #ifdef SHARED
> extern void *__tls_get_addr (tls_index *ti);
>
> -# define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET)
> # define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
> #endif
>
> diff --git a/sysdeps/riscv/dl-tls.h b/sysdeps/riscv/dl-tls.h
> index 049161f02f..ec7c2e038c 100644
> --- a/sysdeps/riscv/dl-tls.h
> +++ b/sysdeps/riscv/dl-tls.h
> @@ -41,7 +41,6 @@ typedef struct
>
> extern void *__tls_get_addr (tls_index *ti);
>
> -#define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET)
> #define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
>
> /* Value used for dtv entries for which the allocation is delayed. */
> diff --git a/sysdeps/riscv/libc-tls.c b/sysdeps/riscv/libc-tls.c
> index dbf71efa2c..8cb9e52742 100644
> --- a/sysdeps/riscv/libc-tls.c
> +++ b/sysdeps/riscv/libc-tls.c
> @@ -28,5 +28,5 @@ void *
> __tls_get_addr (tls_index *ti)
> {
> dtv_t *dtv = THREAD_DTV ();
> - return (char *) dtv[1].pointer.val + GET_ADDR_OFFSET;
> + return (char *) dtv[1].pointer.val + ti->ti_offset + TLS_DTV_OFFSET;
> }
More information about the Libc-alpha
mailing list