From 0afc20e02285bb7b071d690053f2190d27aa9107 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Sat, 22 Feb 2025 22:24:32 +0000 Subject: [PATCH 1/2] Switch back to matching `target_os` rather than `target_vendor` `ctest` is very particular about this and the current configuration, though working most of the time, seems to cause occasional CI errors that can't easily be explained or mitigated. Switch back to matching all Apple `target_os` options until `ctest` is fixed. (backport ) (cherry picked from commit a986f81dbc23bf669fdecd81a74b6ae3999cb8c8) --- src/primitives.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/primitives.rs b/src/primitives.rs index ed71e843057b..668d3340d2ab 100644 --- a/src/primitives.rs +++ b/src/primitives.rs @@ -20,7 +20,14 @@ pub type c_double = f64; cfg_if! { if #[cfg(all( not(windows), - not(target_vendor = "apple"), + // FIXME(ctest): just use `target_vendor` = "apple"` once `ctest` supports it + not(any( + target_os = "macos", + target_os = "ios", + target_os = "tvos", + target_os = "watchos", + target_os = "visionos", + )), not(target_os = "vita"), any( target_arch = "aarch64", From 277ff0b7075a4adf5cfb91eed47969df22712fb9 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Sat, 22 Feb 2025 21:49:59 +0000 Subject: [PATCH 2/2] Revert "Also skip `MFD_EXEC` and `MFD_NOEXEC_SEAL` on sparc64" This commit was included in [1] but was not present in the original commmit. This was likely needed because of previous differences in CI setup and MSRV between the two branches. Now that the two branches are much more similar, the same kernel verion and Rust versions are tested so this should no longer be needed. This reverts commit 61331df06f425934fa43a506e25217f49a039a7c. [1]: https://github.com/rust-lang/libc/pull/3708 --- libc-test/build.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libc-test/build.rs b/libc-test/build.rs index eb41e2eaa7ac..dfb9443b9506 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -4126,10 +4126,7 @@ fn test_linux(target: &str) { if ppc64 || riscv64 => true, // FIXME: requires more recent kernel headers on CI - | "MFD_EXEC" - | "MFD_NOEXEC_SEAL" - | "SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV" - if sparc64 => true, + "SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV" if sparc64 => true, // FIXME: Not currently available in headers on ARM and musl. "NETLINK_GET_STRICT_CHK" if arm => true,