diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1739b895529ea..35146391d1a01 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -189,6 +189,7 @@ jobs: artifact-tag: new-musl - target: arm-linux-androideabi - target: arm-unknown-linux-gnueabihf + env: { RUST_LIBC_UNSTABLE_GNU_TIME_BITS: 64 } - target: arm-unknown-linux-musleabihf - target: arm-unknown-linux-musleabihf env: { RUST_LIBC_UNSTABLE_MUSL_V1_2_3: 1 } diff --git a/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile b/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile index e6cdf778d78c0..ce28ee4c196ad 100644 --- a/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile +++ b/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile @@ -1,9 +1,6 @@ -FROM ubuntu:23.10 +FROM ubuntu:25.04 -# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time -RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ - /etc/apt/sources.list && \ - apt-get update && apt-get install -y --no-install-recommends \ +RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ gcc \ gcc-arm-linux-gnueabihf \ diff --git a/ci/docker/i686-unknown-linux-gnu/Dockerfile b/ci/docker/i686-unknown-linux-gnu/Dockerfile index 5a2f4c9dd43ec..b1596071b8f63 100644 --- a/ci/docker/i686-unknown-linux-gnu/Dockerfile +++ b/ci/docker/i686-unknown-linux-gnu/Dockerfile @@ -1,9 +1,6 @@ -FROM ubuntu:23.10 +FROM ubuntu:25.04 -# FIXME(time): we are using an EOL release because 24.04 changes to 64-bit time -RUN sed -i -E 's/(archive|security)\.ubuntu\.com/old-releases.ubuntu.com/g' \ - /etc/apt/sources.list && \ - apt-get update && apt-get install -y --no-install-recommends \ +RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ gcc-multilib \ libc6-dev diff --git a/libc-test/build.rs b/libc-test/build.rs index a8b8e046ebf71..4005dd6e295af 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -4039,7 +4039,7 @@ fn test_linux(target: &str) { cfg.skip_struct(move |struct_| { let ty = struct_.ident(); - // FIXME(linux): CI has old headers + // FIXME(linux): Requires >= 6.12 kernel headers. CI has old headers if ty == "ptp_sys_offset_extended" { return true; } @@ -4106,14 +4106,10 @@ fn test_linux(target: &str) { "sctp_initmsg" | "sctp_sndrcvinfo" | "sctp_sndinfo" | "sctp_rcvinfo" | "sctp_nxtinfo" | "sctp_prinfo" | "sctp_authinfo" => true, - // FIXME(linux): Requires >= 6.8 kernel headers. - // A field was added in 6.8. - // https://github.com/torvalds/linux/commit/341ac980eab90ac1f6c22ee9f9da83ed9604d899 - // The previous version of the struct was removed in 6.11 due to a bug. - // https://github.com/torvalds/linux/commit/32654bbd6313b4cfc82297e6634fa9725c3c900f - "xdp_umem_reg" => true, - - // FIXME(linux): Requires >= 6.8 kernel headers. + // FIXME(linux): A new field was added to `xsk_tx_metadata_request` in linux 6.15. + // https://github.com/torvalds/linux/commit/ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 + // When updating, consider giving the `__c_anonymous_` prefix to the enum variants + // `xsk_tx_metadata_request` and `xsk_tx_metadata_completion`. "xsk_tx_metadata" | "xsk_tx_metadata_request" | "xsk_tx_metadata_completion" => true, // A new field was added in kernel 5.4, this is the old version for backwards compatibility. @@ -4422,18 +4418,8 @@ fn test_linux(target: &str) { true } - // FIXME(linux): Requires >= 6.6 kernel headers. - "XDP_USE_SG" | "XDP_PKT_CONTD" => true, - // FIXME(linux): Missing only on this platform for some reason "PR_MDWE_NO_INHERIT" if gnueabihf => true, - - // FIXME(linux): Requires >= 6.8 kernel headers. - "XDP_UMEM_TX_SW_CSUM" - | "XDP_TXMD_FLAGS_TIMESTAMP" - | "XDP_TXMD_FLAGS_CHECKSUM" - | "XDP_TX_METADATA" => true, - // FIXME(linux): Requires >= 6.11 kernel headers. "XDP_UMEM_TX_METADATA_LEN" => true, @@ -4448,9 +4434,6 @@ fn test_linux(target: &str) { true } - // FIXME(linux): Requires >= 6.6 kernel headers. - "SYS_fchmodat2" => true, - // FIXME(linux): Requires >= 6.10 kernel headers. "SYS_mseal" => true,