From aa08592255c39ee99d32fffae78007a842293c0d Mon Sep 17 00:00:00 2001 From: Reagan Bohan Date: Thu, 1 May 2025 11:20:37 +0000 Subject: [PATCH 1/2] musl: fix test build with musl 1.2.0+ Since musl 1.2.0, the utmpx.ut_session type changed from long to int (with padding). For now, skip the test for this field. Fixes: 3305 --- libc-test/build.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libc-test/build.rs b/libc-test/build.rs index edb1556c2d6d6..3f7857fe69ff1 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -4795,7 +4795,9 @@ fn test_linux(target: &str) { (struct_ == "statvfs" && field == "__f_spare") || (struct_ == "statvfs64" && field == "__f_spare") || // the `xsk_tx_metadata_union` field is an anonymous union - (struct_ == "xsk_tx_metadata" && field == "xsk_tx_metadata_union") + (struct_ == "xsk_tx_metadata" && field == "xsk_tx_metadata_union") || + // FIXME(musl): After musl 1.2.0, the type becomes `int` instead of `long`. + (struct_ == "utmpx" && field == "ut_session") }); cfg.skip_roundtrip(move |s| match s { From 82c37c80b44c58916d3c0adcca46c6003699f634 Mon Sep 17 00:00:00 2001 From: Reagan Bohan Date: Thu, 1 May 2025 11:30:55 +0000 Subject: [PATCH 2/2] musl: fix CPU_SETSIZE musl upstream has changed the size from 128 to 1024 in upstream commit bc695a5, which is in versions 1.2.4+ --- src/unix/linux_like/linux/musl/mod.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index d3fc09201c730..c568eb3ab049c 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -731,9 +731,6 @@ pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; pub const __SIZEOF_PTHREAD_BARRIERATTR_T: usize = 4; -#[cfg(not(target_arch = "loongarch64"))] -pub const CPU_SETSIZE: c_int = 128; -#[cfg(target_arch = "loongarch64")] pub const CPU_SETSIZE: c_int = 1024; pub const PTRACE_TRACEME: c_int = 0;