diff --git a/libc-test/build/main.rs b/libc-test/build/main.rs index 131efac0e304..eee461021a74 100755 --- a/libc-test/build/main.rs +++ b/libc-test/build/main.rs @@ -4854,6 +4854,12 @@ fn test_linux(t: &Target) { // eabihf targets are tested using an older version of glibc "AT_HANDLE_FID" if musl || eabihf => true, + // Added in 7.2 + "FUTEX_ROBUST_UNLOCK" => kernel < (7, 2), + "FUTEX_ROBUST_LIST32" => kernel < (7, 2), + // Value changed in 7.2 + "FUTEX_CMD_MASK" => kernel < (7, 2), + _ => false, } }); diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index 71b5ebcca04d..4df4122c712b 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -956,6 +956,8 @@ FUTEX_OP_XOR FUTEX_OWNER_DIED FUTEX_PRIVATE_FLAG FUTEX_REQUEUE +FUTEX_ROBUST_LIST32 +FUTEX_ROBUST_UNLOCK FUTEX_TID_MASK FUTEX_TRYLOCK_PI FUTEX_UNLOCK_PI diff --git a/src/new/linux_uapi/linux/futex.rs b/src/new/linux_uapi/linux/futex.rs index 893dee0e0062..e65977b99bea 100644 --- a/src/new/linux_uapi/linux/futex.rs +++ b/src/new/linux_uapi/linux/futex.rs @@ -19,8 +19,11 @@ pub const FUTEX_LOCK_PI2: c_int = 13; pub const FUTEX_PRIVATE_FLAG: c_int = 128; pub const FUTEX_CLOCK_REALTIME: c_int = 256; +pub const FUTEX_ROBUST_UNLOCK: c_int = 512; +pub const FUTEX_ROBUST_LIST32: c_int = 1024; -pub const FUTEX_CMD_MASK: c_int = !(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME); +pub const FUTEX_CMD_MASK: c_int = + !(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME | FUTEX_ROBUST_UNLOCK | FUTEX_ROBUST_LIST32); pub const FUTEX2_SIZE_U8: c_int = 0x00; pub const FUTEX2_SIZE_U16: c_int = 0x01;