From: Michael Jeanson Date: Thu, 1 Aug 2024 18:29:10 +0000 (-0400) Subject: nptl: Remove the rseq area from 'struct pthread' X-Git-Tag: glibc-2.41~94 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=540c8172660b93909ca9511e9742cd4dad4644a1;p=thirdparty%2Fglibc.git nptl: Remove the rseq area from 'struct pthread' The rseq extensible ABI implementation moved the rseq area to the 'extra TLS' block, remove the unused 'rseq_area' member of 'struct pthread'. Signed-off-by: Michael Jeanson Reviewed-by: Mathieu Desnoyers Reviewed-by: Florian Weimer --- diff --git a/nptl/descr.h b/nptl/descr.h index d0d30929e2..c60ca137d4 100644 --- a/nptl/descr.h +++ b/nptl/descr.h @@ -407,27 +407,11 @@ struct pthread /* getrandom vDSO per-thread opaque state. */ void *getrandom_buf; - /* rseq area registered with the kernel. Use a custom definition - here to isolate from kernel struct rseq changes. The - implementation of sched_getcpu needs acccess to the cpu_id field; - the other fields are unused and not included here. */ - union - { - struct - { - uint32_t cpu_id_start; - uint32_t cpu_id; - uint64_t rseq_cs; - uint32_t flags; - }; - char pad[32]; /* Original rseq area size. */ - } rseq_area __attribute__ ((aligned (32))); - /* Amount of end padding, if any, in this structure. - This definition relies on rseq_area being last. */ + This definition relies on getrandom_buf being last. */ #define PTHREAD_STRUCT_END_PADDING \ - (sizeof (struct pthread) - offsetof (struct pthread, rseq_area) \ - + sizeof ((struct pthread) {}.rseq_area)) + (sizeof (struct pthread) - offsetof (struct pthread, getrandom_buf) \ + + sizeof ((struct pthread) {}.getrandom_buf)) } __attribute ((aligned (TCB_ALIGNMENT))); static inline bool