diff options
author | Joseph Myers <joseph@codesourcery.com> | 2021-08-09 16:51:38 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2021-08-09 16:51:38 +0000 |
commit | 98149b16d645e9644a8e9b3d1f4b7932b9b193c5 (patch) | |
tree | 485baa22fe5b8f1cbcc222b150e38a6821585b09 /sysdeps/unix/sysv | |
parent | b805aebd42364fe696e417808a700fdb9800c9e8 (diff) | |
download | glibc-98149b16d645e9644a8e9b3d1f4b7932b9b193c5.zip glibc-98149b16d645e9644a8e9b3d1f4b7932b9b193c5.tar.gz glibc-98149b16d645e9644a8e9b3d1f4b7932b9b193c5.tar.bz2 |
Add PTRACE_GET_RSEQ_CONFIGURATION from Linux 5.13 to sys/ptrace.h
Linux 5.13 adds a PTRACE_GET_RSEQ_CONFIGURATION constant, with an
associated ptrace_rseq_configuration structure.
Add this constant to the various sys/ptrace.h headers in glibc, with
the structure in bits/ptrace-shared.h (named struct
__ptrace_rseq_configuration in glibc, as with other such structures).
Tested for x86_64, and with build-many-glibcs.py.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/sys/ptrace.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/ptrace-shared.h | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/ptrace.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/sys/ptrace.h | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sys/ptrace.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sys/ptrace.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86/sys/ptrace.h | 6 |
9 files changed, 52 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h index af8193c..1fae1dc 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h @@ -58,6 +58,7 @@ __BEGIN_DECLS #undef PTRACE_SECCOMP_GET_FILTER #undef PTRACE_SECCOMP_GET_METADATA #undef PTRACE_GET_SYSCALL_INFO +#undef PTRACE_GET_RSEQ_CONFIGURATION /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -190,8 +191,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h index cdb1f15..2e38436 100644 --- a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h index 7d40634d..7e95ca7 100644 --- a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h +++ b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h @@ -120,6 +120,16 @@ struct __ptrace_syscall_info }; }; +/* Results of PTRACE_GET_RSEQ_CONFIGURATION. */ +struct __ptrace_rseq_configuration +{ + __uint64_t rseq_abi_pointer; + __uint32_t rseq_abi_size; + __uint32_t signature; + __uint32_t flags; + __uint32_t pad; +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h index bea975b..536a0ca 100644 --- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h @@ -153,8 +153,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h index 032c91e..fb599af 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h index 4f3c657..3ddd2e4 100644 --- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h @@ -86,6 +86,7 @@ __BEGIN_DECLS # undef PTRACE_SYSCALL_INFO_ENTRY # undef PTRACE_SYSCALL_INFO_EXIT # undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_GET_RSEQ_CONFIGURATION #endif /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -217,6 +218,10 @@ enum __ptrace_request PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + PTRACE_PEEKUSR_AREA = 0x5000, #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h index 3f61500..773b437 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h @@ -221,8 +221,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h index dc76e97..404fc3d 100644 --- a/sysdeps/unix/sysv/linux/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/sys/ptrace.h @@ -170,8 +170,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h index 8501cc2..7202a09 100644 --- a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; |