about summary refs log tree commit diff
path: root/nptl/descr.h
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/descr.h')
-rw-r--r--nptl/descr.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/nptl/descr.h b/nptl/descr.h
index cbaa38fc3c..5a4c99c42f 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -57,17 +57,25 @@
 /* Thread descriptor data structure.  */
 struct pthread
 {
-#if !TLS_DTV_AT_TP
-  /* This overlaps tcbhead_t (see tls.h), as used for TLS without threads.  */
   union
   {
-    tcbhead_t;
-    void *__padding[16];
-  };
+#if !TLS_DTV_AT_TP
+    /* This overlaps the TCB as used for TLS without threads (see tls.h).  */
+    tcbhead_t header;
 #elif TLS_MULTIPLE_THREADS_IN_TCB
-  int multiple_threads;
+    struct
+    {
+      int multiple_threads;
+    } header;
 #endif
 
+    /* This extra padding has no special purpose, and this structure layout
+       is private and subject to change without affecting the official ABI.
+       We just have it here in case it might be convenient for some
+       implementation-specific instrumentation hack or suchlike.  */
+    void *__padding[16];
+  };
+
   /* This descriptor's link on the `stack_used' or `__stack_user' list.  */
   list_t list;