about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-07-19 14:09:26 -0700
committerArjun Shankar <arjun@redhat.com>2024-03-18 11:41:35 +0100
commit08ac41cf08a37441b3df8b43275f9cfd2eb4620c (patch)
treec89ef7ef0f5b664f8dd9745bae712345cc8c179e
parent2fadb0d9b4c14f1517816564bd8ba9e9262f7332 (diff)
downloadglibc-08ac41cf08a37441b3df8b43275f9cfd2eb4620c.tar.gz
glibc-08ac41cf08a37441b3df8b43275f9cfd2eb4620c.tar.xz
glibc-08ac41cf08a37441b3df8b43275f9cfd2eb4620c.zip
make ‘struct pthread’ a complete type
* nptl/descr.h (struct pthread): Remove end_padding member, which
made this type incomplete.
(PTHREAD_STRUCT_END_PADDING): Stop using end_padding.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
(cherry picked from commit 3edc4ff2ceff4a59587ebecb94148d3bcfa1df62)
-rw-r--r--nptl/descr.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/nptl/descr.h b/nptl/descr.h
index f8b5ac7c22..4d7ef28edd 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -408,11 +408,11 @@ struct pthread
   /* rseq area registered with the kernel.  */
   struct rseq rseq_area;
 
-  /* This member must be last.  */
-  char end_padding[];
-
+  /* Amount of end padding, if any, in this structure.
+     This definition relies on rseq_area being last.  */
 #define PTHREAD_STRUCT_END_PADDING \
-  (sizeof (struct pthread) - offsetof (struct pthread, end_padding))
+  (sizeof (struct pthread) - offsetof (struct pthread, rseq_area) \
+   + sizeof (struct rseq))
 } __attribute ((aligned (TCB_ALIGNMENT)));
 
 static inline bool