public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] Linux: Adjust struct rseq definition to current kernel version
@ 2022-06-02 14:30 Florian Weimer
0 siblings, 0 replies; only message in thread
From: Florian Weimer @ 2022-06-02 14:30 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4b527650e0d559a5f693275c598667e06cd6455c
commit 4b527650e0d559a5f693275c598667e06cd6455c
Author: Florian Weimer <fweimer@redhat.com>
Date: Thu Jun 2 16:29:55 2022 +0200
Linux: Adjust struct rseq definition to current kernel version
This definition is only used as a fallback with old kernel headers.
The change follows kernel commit bfdf4e6208051ed7165b2e92035b4bf11
("rseq: Remove broken uapi field layout on 32-bit little endian").
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diff:
---
sysdeps/unix/sysv/linux/sys/rseq.h | 28 ++++++----------------------
1 file changed, 6 insertions(+), 22 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/sys/rseq.h b/sysdeps/unix/sysv/linux/sys/rseq.h
index 8533782cf4..899d534df8 100644
--- a/sysdeps/unix/sysv/linux/sys/rseq.h
+++ b/sysdeps/unix/sysv/linux/sys/rseq.h
@@ -24,7 +24,6 @@
#include <stddef.h>
#include <stdint.h>
#include <sys/cdefs.h>
-#include <bits/endian.h>
#ifdef __has_include
# if __has_include ("linux/rseq.h")
@@ -129,28 +128,13 @@ struct rseq
targeted by the rseq_cs. Also needs to be set to NULL by user-space
before reclaiming memory that contains the targeted struct rseq_cs.
- Read and set by the kernel. Set by user-space with single-copy
- atomicity semantics. This field should only be updated by the
- thread which registered this data structure. Aligned on 64-bit. */
- union
- {
- uint64_t ptr64;
-# ifdef __LP64__
- uint64_t ptr;
-# else /* __LP64__ */
- struct
- {
-#if __BYTE_ORDER == __BIG_ENDIAN
- uint32_t padding; /* Initialized to zero. */
- uint32_t ptr32;
-# else /* LITTLE */
- uint32_t ptr32;
- uint32_t padding; /* Initialized to zero. */
-# endif /* ENDIAN */
- } ptr;
-# endif /* __LP64__ */
- } rseq_cs;
+ Read and set by the kernel. Set by user-space with single-copy
+ atomicity semantics. This field should only be updated by the
+ thread which registered this data structure. Aligned on 64-bit.
+ 32-bit architectures should update the low order bits of the
+ rseq_cs field, leaving the high order bits initialized to 0. */
+ uint64_t rseq_cs;
/* Restartable sequences flags field.
This field should only be updated by the thread which
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-06-02 14:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-02 14:30 [glibc] Linux: Adjust struct rseq definition to current kernel version Florian Weimer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).