[PATCH 4/4] elf: Remove the remaining uses of GET_ADDR_OFFSET

Florian Weimer fweimer@redhat.com
Fri Dec 27 15:37:26 GMT 2024


Expand the macro where it is used in static definitions of
__tls_get_addr.
---
 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;
 }
-- 
2.47.1



More information about the Libc-alpha mailing list