[PATCH] x86-64: Move nptl/rseq-access.h to nptl/64 [BZ #32543]
Sam James
sam@gentoo.org
Sat Jan 11 07:04:32 GMT 2025
"H.J. Lu" <hjl.tools@gmail.com> writes:
> commit 494d65129ed5ae1154b75cc189bbdde5e9ecf1df
> Author: Michael Jeanson <mjeanson@efficios.com>
> Date: Thu Aug 1 10:35:34 2024 -0400
>
> nptl: Introduce <rseq-access.h> for RSEQ_* accessors
>
> added things like
>
> asm volatile ("movl %%fs:%P1(%q2),%0" \
> : "=r" (__value) \
> : "i" (offsetof (struct rseq_area, member)), \
> "r" (__rseq_offset));
>
> But this doesn't work for x32 when __rseq_offset is negative since the
> address is computed as
>
> FS + 32-bit to 64-bit zero extension of __rseq_offset
> + offsetof (struct rseq_area, member)
>
> Move x86_64/nptl/rseq-access.h to x86_64/nptl/64/rseq-access.h so that
> sysdeps/nptl/rseq-access.h is used for x32. This fixes BZ #32543.
>
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> ---
> sysdeps/x86_64/nptl/{ => 64}/rseq-access.h | 0
> 1 file changed, 0 insertions(+), 0 deletions(-)
> rename sysdeps/x86_64/nptl/{ => 64}/rseq-access.h (100%)
>
> diff --git a/sysdeps/x86_64/nptl/rseq-access.h b/sysdeps/x86_64/nptl/64/rseq-access.h
> similarity index 100%
> rename from sysdeps/x86_64/nptl/rseq-access.h
> rename to sysdeps/x86_64/nptl/64/rseq-access.h
OK, thanks.
Michael et. al may have followup comments if they want to provide a
specialised impl for x32 of course.
More information about the Libc-alpha
mailing list