From c39237827875dd99cf9abb39b4da9b6a30bf05ac Mon Sep 17 00:00:00 2001 From: Brad Smith Date: Tue, 30 Sep 2025 22:24:40 -0400 Subject: [PATCH] add HWCAP consts --- libc-test/build.rs | 9 +++++++++ libc-test/semver/android.txt | 2 ++ libc-test/semver/freebsd.txt | 2 ++ libc-test/semver/linux.txt | 2 ++ src/unix/bsd/freebsdlike/freebsd/mod.rs | 2 ++ src/unix/linux_like/android/mod.rs | 2 ++ src/unix/linux_like/linux/mod.rs | 2 ++ 7 files changed, 21 insertions(+) diff --git a/libc-test/build.rs b/libc-test/build.rs index 6d2a1da0c248b..325504156bd43 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -2129,6 +2129,9 @@ fn test_android(target: &str) { // FIXME(android): Requires >= 6.12 kernel headers. "SOF_TIMESTAMPING_OPT_RX_FILTER" => true, + // FIXME(android): Requires >= 6.9 kernel headers. + "AT_HWCAP3" | "AT_HWCAP4" => true, + _ => false, } }); @@ -2702,6 +2705,9 @@ fn test_freebsd(target: &str) { // Added in FreeBSD 14.2 "SO_SPLICE" if Some(14) > freebsd_ver => true, + // Added in FreeBSD 15 + "AT_HWCAP3" | "AT_HWCAP4" if Some(15) > freebsd_ver => true, + _ => false, } }); @@ -4584,6 +4590,9 @@ fn test_linux(target: &str) { // FIXME(linux): Value changed in 6.14 "SECURE_ALL_BITS" | "SECURE_ALL_LOCKS" => true, + // FIXME(linux): Requires >= 6.9 kernel headers. + "AT_HWCAP3" | "AT_HWCAP4" => true, + _ => false, } }); diff --git a/libc-test/semver/android.txt b/libc-test/semver/android.txt index 4abe48465f704..0787fe67cb232 100644 --- a/libc-test/semver/android.txt +++ b/libc-test/semver/android.txt @@ -150,6 +150,8 @@ AT_FLAGS AT_GID AT_HWCAP AT_HWCAP2 +AT_HWCAP3 +AT_HWCAP4 AT_IGNORE AT_MINSIGSTKSZ AT_NOTELF diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index be24fc9fe9efe..ece7e0b95da9f 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -96,6 +96,8 @@ AT_FLAGS AT_GID AT_HWCAP AT_HWCAP2 +AT_HWCAP3 +AT_HWCAP4 AT_NCPUS AT_NOTELF AT_NULL diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index c745733f99632..b6b2008ea6add 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -168,6 +168,8 @@ AT_FLAGS AT_GID AT_HWCAP AT_HWCAP2 +AT_HWCAP3 +AT_HWCAP4 AT_IGNORE AT_MINSIGSTKSZ AT_NOTELF diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 88eb12541ff94..e2cc3c1181b9c 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -3708,6 +3708,8 @@ pub const AT_HWCAP: c_int = 25; pub const AT_HWCAP2: c_int = 26; pub const AT_USRSTACKBASE: c_int = 35; pub const AT_USRSTACKLIM: c_int = 36; +pub const AT_HWCAP3: c_int = 38; +pub const AT_HWCAP4: c_int = 39; pub const TABDLY: crate::tcflag_t = 0x00000004; pub const TAB0: crate::tcflag_t = 0x00000000; diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index 6643403572832..0c930f62ffa09 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -3473,6 +3473,8 @@ pub const AT_RANDOM: c_ulong = 25; pub const AT_HWCAP2: c_ulong = 26; pub const AT_RSEQ_FEATURE_SIZE: c_ulong = 27; pub const AT_RSEQ_ALIGN: c_ulong = 28; +pub const AT_HWCAP3: c_ulong = 29; +pub const AT_HWCAP4: c_ulong = 30; pub const AT_EXECFN: c_ulong = 31; pub const AT_MINSIGSTKSZ: c_ulong = 51; diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index f0b473230e500..770ff4fe76ea6 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -2513,6 +2513,8 @@ pub const AT_BASE_PLATFORM: c_ulong = 24; pub const AT_RANDOM: c_ulong = 25; pub const AT_HWCAP2: c_ulong = 26; +pub const AT_HWCAP3: c_ulong = 29; +pub const AT_HWCAP4: c_ulong = 30; pub const AT_EXECFN: c_ulong = 31; // defined in arch//include/uapi/asm/auxvec.h but has the same value