aboutsummaryrefslogtreecommitdiff
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
glibc-468777e1d0dbd6cb8bcaee244a954824d5c84167.tar.gz
glibc-468777e1d0dbd6cb8bcaee244a954824d5c84167.tar.bz2
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)));