diff --git a/libc-test/build.rs b/libc-test/build.rs index d1718454e4e70..0e56050b008de 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -3068,6 +3068,7 @@ fn test_linux(target: &str) { // FIXME: Unignore once we update Ubuntu to 22.04 "mallinfo2" if sparc64 => true, + "ptrace_rseq_configuration" if sparc64 => true, _ => false, } @@ -3309,6 +3310,8 @@ fn test_linux(target: &str) { | "IFLA_PERM_ADDRESS" | "IFLA_PROTO_DOWN_REASON" if sparc64 => true, + // Added in Linux 5.13 + "PTRACE_GET_RSEQ_CONFIGURATION" if sparc64 => true, _ => false, } diff --git a/libc-test/semver/linux-gnu-x86_64.txt b/libc-test/semver/linux-gnu-x86_64.txt index dfe109307fbd1..604f7d845e7b7 100644 --- a/libc-test/semver/linux-gnu-x86_64.txt +++ b/libc-test/semver/linux-gnu-x86_64.txt @@ -19,12 +19,14 @@ NFT_MSG_NEWOBJ PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +PTRACE_GET_RSEQ_CONFIGURATION PTRACE_SYSEMU PTRACE_SYSEMU_SINGLESTEP _libc_fpstate flock64 getcontext makecontext +ptrace_rseq_configuration setcontext swapcontext termios2 diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs index 7e876f2d86c87..d515d22315d0c 100644 --- a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs @@ -265,6 +265,14 @@ s! { pub seccomp_notif_resp: ::__u16, pub seccomp_data: ::__u16, } + + pub struct ptrace_rseq_configuration { + pub rseq_abi_pointer: ::__u64, + pub rseq_abi_size: ::__u32, + pub signature: ::__u32, + pub flags: ::__u32, + pub pad: ::__u32, + } } s_no_extra_traits! { @@ -535,6 +543,7 @@ pub const O_ASYNC: ::c_int = 0x2000; pub const O_NDELAY: ::c_int = 0x800; pub const PTRACE_DETACH: ::c_uint = 17; +pub const PTRACE_GET_RSEQ_CONFIGURATION: ::c_uint = 0x420f; pub const EFD_NONBLOCK: ::c_int = 0x800;