[PATCH v13 6/6] nptl: Remove the rseq area from 'struct pthread'
Mathieu Desnoyers
mathieu.desnoyers@efficios.com
Tue Nov 19 20:47:43 GMT 2024
On 2024-11-19 13:58, Michael Jeanson wrote:
> 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 <mjeanson@efficios.com>
> ---
> nptl/descr.h | 22 +++-------------------
> 1 file changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/nptl/descr.h b/nptl/descr.h
> index a69f5c9697..ed767e4859 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))
ok
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> } __attribute ((aligned (TCB_ALIGNMENT)));
>
> static inline bool
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
More information about the Libc-alpha
mailing list