Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux add ptrace_rseq_configuration #2923

Merged
merged 1 commit into from Sep 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions libc-test/build.rs
Expand Up @@ -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,
}
Expand Down Expand Up @@ -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,
}
Expand Down
2 changes: 2 additions & 0 deletions libc-test/semver/linux-gnu-x86_64.txt
Expand Up @@ -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
9 changes: 9 additions & 0 deletions src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
Expand Up @@ -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! {
Expand Down Expand Up @@ -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;

Expand Down