aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/s390/dl-tls.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/s390/dl-tls.h b/sysdeps/s390/dl-tls.h
index a5c18a6892..74756ddf05 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