aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/sparc/tls.h
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/sysdeps/sparc/tls.h')
-rw-r--r--linuxthreads/sysdeps/sparc/tls.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/sparc/tls.h b/linuxthreads/sysdeps/sparc/tls.h
index 6b1966fe1c..5053824058 100644
--- a/linuxthreads/sysdeps/sparc/tls.h
+++ b/linuxthreads/sysdeps/sparc/tls.h
@@ -64,7 +64,14 @@ typedef struct
# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
/* This is the size of the TCB. */
-# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
+# ifndef IS_IN_rtld
+# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
+# else
+# include <nptl-struct-pthread.h>
+# define TLS_TCB_SIZE \
+ (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
+ ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
+# endif
/* Alignment requirements for the TCB. */
# define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)