forked from rpms/glibc
86889b9545
Resolves: #2224289
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
commit 3edc4ff2ceff4a59587ebecb94148d3bcfa1df62
|
||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||
Date: Wed Jul 19 14:09:26 2023 -0700
|
||
|
||
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>
|
||
|
||
diff --git a/nptl/descr.h b/nptl/descr.h
|
||
index dfef9c4bda075d13..c487846c171f9434 100644
|
||
--- a/nptl/descr.h
|
||
+++ b/nptl/descr.h
|
||
@@ -412,11 +412,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
|