about summary refs log tree commit diff
path: root/nptl/descr.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-25 22:28:13 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-25 22:28:13 +0000
commit468777e1d0dbd6cb8bcaee244a954824d5c84167 (patch)
treeaabd8c6a9e825ebaed65f3f6ddf7efb07f2e2109 /nptl/descr.h
parentf24dca48290e4a1c731fc0bee94bc9a1f891b3fa (diff)
downloadglibc-468777e1d0dbd6cb8bcaee244a954824d5c84167.tar.gz
glibc-468777e1d0dbd6cb8bcaee244a954824d5c84167.tar.xz
glibc-468777e1d0dbd6cb8bcaee244a954824d5c84167.zip
Update.
	* pthread.c (__pthread_initialize_manager): Subtract
	TLS_PRE_TCB_SIZE bytes from tcbp to get to descr.
	* manager.c (pthread_handle_create): Subtract or add TLS_PRE_TCB_SIZE
	instead of sizeof (pthread_descr).
	(pthread_free): Add TLS_PRE_TCB_SIZE instead of sizeof (pthread_descr).
	* sysdeps/powerpc/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Define to 0.
Diffstat (limited to 'nptl/descr.h')
-rw-r--r--nptl/descr.h21
1 files changed, 5 insertions, 16 deletions
diff --git a/nptl/descr.h b/nptl/descr.h
index 7fd64ecb39..efb25c7479 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -99,7 +99,11 @@ struct pthread
 #if !TLS_DTV_AT_TP
     /* This overlaps the TCB as used for TLS without threads (see tls.h).  */
     tcbhead_t header;
-# define p_multiple_threads(descr) (descr)->header.multiple_threads
+#elif TLS_MULTIPLE_THREADS_IN_TCB
+    struct
+    {
+      int multiple_threads;
+    } header;
 #endif
 
     /* This extra padding has no special purpose, and this structure layout
@@ -228,21 +232,6 @@ struct pthread
   size_t stackblock_size;
   /* Size of the included guard area.  */
   size_t guardsize;
-
-#if TLS_DTV_AT_TP && TLS_MULTIPLE_THREADS_IN_TCB
-  /* Must come last.  */
-  int __multiple_threads;
-# define p_multiple_threads(descr) \
-  ((union							\
-    {								\
-      struct pthread s;						\
-      struct							\
-	{							\
-	  char dummy[sizeof (struct pthread) - sizeof (int)];   \
-	  int multiple_threads;					\
-	} m;							\
-    } *)(descr)->m.multiple_threads)
-#endif
 } __attribute ((aligned (TCB_ALIGNMENT)));