diff --git a/RELEASES.md b/RELEASES.md index 87768b2f74e76..ecc5f5adab06d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,194 @@ +Version 1.97.0 (2026-07-09) +========================== + + + +Language +-------- +- [Consider `Result` and `ControlFlow` to be equivalent to `T` for must use lint](https://github.com/rust-lang/rust/pull/148214) +- [Add allow-by-default `dead_code_pub_in_binary` lint for unused pub items in binary crates](https://github.com/rust-lang/rust/pull/149509) +- [Stabilize the `div32`, `lam-bh`, `lamcas`, `ld-seq-sa` and `scq` target features](https://github.com/rust-lang/rust/pull/154510) +- [Stabilize `cfg(target_has_atomic_primitive_alignment)`](https://github.com/rust-lang/rust/pull/155006) +- [Allow trailing `self` in imports in more cases](https://github.com/rust-lang/rust/pull/155137) + + + + +Platform Support +---------------- +- [nvptx64-nvidia-cuda: drop support for old architectures and old ISAs](https://github.com/rust-lang/rust/pull/152443) + + +Refer to Rust's [platform support page][platform-support-doc] +for more information on Rust's tiered platform support. + +[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html + + + + +Stabilized APIs +--------------- + +- [`Default for RepeatN`](https://doc.rust-lang.org/stable/std/iter/struct.RepeatN.html#impl-Default-for-RepeatN%3CA%3E) +- [`Copy for ffi::FromBytesUntilNulError`](https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html#impl-Copy-for-FromBytesUntilNulError) +- [`Send for std::fs::File` on UEFI](https://github.com/rust-lang/rust/pull/154003) +- [`<{integer}>::isolate_highest_one`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.isolate_highest_one) +- [`<{integer}>::isolate_lowest_one`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.isolate_lowest_one) +- [`NonZero<{integer}>::isolate_highest_one`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.isolate_highest_one) +- [`NonZero<{integer}>::isolate_lowest_one`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.isolate_lowest_one) +- [`<{integer}>::bit_width`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.bit_width) +- [`<{integer}>::lowest_one`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.lowest_one) +- [`<{integer}>::highest_one`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.highest_one) +- [`NonZero<{integer}>::bit_width`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.bit_width) +- [`NonZero<{integer}>::highest_one`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.highest_one) +- [`NonZero<{integer}>::lowest_one`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.lowest_one) + + +These previously stable APIs are now stable in const contexts: + +- [`char::is_control`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_control) + + + + +Cargo +----- +- [Stabilize `build.warnings` config.](https://github.com/rust-lang/cargo/pull/16796) This controls how lint warnings from local packages are treated. Useful for enforcing a warning-free build in CI, replacing `-Dwarnings`. [docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#buildwarnings) +- [Stabilize `resolver.lockfile-path` config.](https://github.com/rust-lang/cargo/pull/16694) This allows specifying the path to the lockfile to use when resolving dependencies. Useful when working with read-only source directories. [docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#resolverlockfile-path) +- [cargo-clean: Error when `--target-dir` doesn't look like a Cargo target directory.](https://github.com/rust-lang/cargo/pull/16712) This prevents accidental deletion of non-target directories. +- [Add `-m` shorthand for `--manifest-path`](https://github.com/rust-lang/cargo/pull/16858) +- [Remove `curl` dependency from `crates-io` crate](https://github.com/rust-lang/cargo/pull/16936) + + + +Rustdoc +----- +- [Stabilize `--emit` flag](https://github.com/rust-lang/rust/pull/146220) +- [Stabilize `--remap-path-prefix`](https://github.com/rust-lang/rust/pull/155307) + + +Compatibility Notes +------------------- +- [Emit a future-compatibility warning when relying on `f32: From<{float}>` to constrain `{float}`](https://github.com/rust-lang/rust/pull/139087) +- [Rust will use the v0 symbol mangling scheme by default.](https://github.com/rust-lang/rust/pull/151994) This may cause some tools (such as debuggers or profilers, especially with old versions) to fail to demangle symbols emitted by Rust. It may also cause the formatting of text in backtraces to change. +- [Prevent deref coercions in `pin!`, in order to prevent unsoundness.](https://github.com/rust-lang/rust/pull/153457) The most likely case where this might impact users is: writing `pin!(x)` where `x` has type `&mut T` will now always correctly produce a value of type `Pin<&mut &mut T>`, instead of sometimes allowing a coercion that produces a value of type `Pin<&mut T>`. This coercion was previously incorrectly allowed since Rust 1.88.0. +- [Deprecate `std::char` constants and functions](https://github.com/rust-lang/rust/pull/153873) +- [Warn on linker output by default](https://github.com/rust-lang/rust/pull/153968) +- [Remove hidden `f64` methods which have been deprecated since 1.0](https://github.com/rust-lang/rust/pull/153975) +- [report the `varargs_without_pattern` lint in deps](https://github.com/rust-lang/rust/pull/154599) +- [Forbid passing generic arguments to module path segments even if the module reexports a generic enum variant](https://github.com/rust-lang/rust/pull/154971) +- [Error on invalid macho `link_section` specifier](https://github.com/rust-lang/rust/pull/155065) +- The encoding of certain `enum`s [have changed](https://github.com/rust-lang/rust/pull/155473). This is not a breaking change, as it only applies to `enum`s without layout guarantees, but is noted here as we've seen people impacted from having made assumptions about the layout algorithm. +- [Error on `#[export_name = "..."]` where the name is empty](https://github.com/rust-lang/rust/pull/155515) +- [Syntactically reject tuple index shorthands in struct patterns](https://github.com/rust-lang/rust/pull/155698) +- [validate `#[link_name = "..."]` & `#[link(name = "...")]` parameters](https://github.com/rust-lang/rust/pull/155817) +- On Windows, after calling `shutdown` on a socket to shut down the write side, attempting to write to the socket will now produce a `BrokenPipe` error rather than `Other`. [Map `WSAESHUTDOWN` to `io::ErrorKind::BrokenPipe`](https://github.com/rust-lang/rust/pull/156063) + + +Version 1.96.1 (2026-06-30) +=========================== + + + +- [Cargo: fix timeout/retry behavior](https://github.com/rust-lang/cargo/pull/17131) +- [Cargo: apply patches for CVE-2025-15661, CVE-2026-55199, and CVE-2026-55200 to libssh2](https://github.com/rust-lang/cargo/pull/17140) +- [rustc: fix miscompilation in MIR optimization](https://github.com/rust-lang/rust/pull/158214) + +Version 1.96.0 (2026-05-28) +========================== + + + +Language +-------- +- [Allow passing `expr` metavariable to `cfg`](https://github.com/rust-lang/rust/pull/146961) +- [Always coerce never types in tuple expressions](https://github.com/rust-lang/rust/pull/147834) +- [Avoid incorrect inference guidance of function arguments in rare cases](https://github.com/rust-lang/rust/pull/150316) +- [Support s390x vector registers in inline assembly](https://github.com/rust-lang/rust/pull/154184) +- [Allow using constants of type `ManuallyDrop` as patterns (fixing a regression introduced in 1.94.0)](https://github.com/rust-lang/rust/pull/154891) + + + +Compiler +-------- +- [Enable link relaxation feature for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/153427) +- [Update `riscv64gc-unknown-fuchsia` baseline to RVA22 + vector](https://github.com/rust-lang/rust/pull/155072) + + + +Libraries +--------- +- [Support iterating over ranges of `NonZero` integers](https://github.com/rust-lang/rust/pull/127534) +- [refactor 'valid for read/write' definition: exclude null; add that as an exception on individual methods instead](https://github.com/rust-lang/rust/pull/152615) +- [Fix SGX delayed host lookup via ToSocketAddr](https://github.com/rust-lang/rust/pull/152851) + + + +Stabilized APIs +--------------- + +- [`assert_matches!`](https://doc.rust-lang.org/stable/std/macro.assert_matches.html) +- [`debug_assert_matches!`](https://doc.rust-lang.org/stable/std/macro.debug_assert_matches.html) +- [`From for AssertUnwindSafe`](https://doc.rust-lang.org/stable/std/panic/struct.AssertUnwindSafe.html#impl-From%3CT%3E-for-AssertUnwindSafe%3CT%3E) +- [`From for LazyCell`](https://doc.rust-lang.org/stable/std/cell/struct.LazyCell.html#impl-From%3CT%3E-for-LazyCell%3CT,+F%3E) +- [`From for LazyLock`](https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html#impl-From%3CT%3E-for-LazyLock%3CT,+F%3E) +- [`core::range::RangeToInclusive`](https://doc.rust-lang.org/stable/core/range/struct.RangeToInclusive.html) +- [`core::range::RangeToInclusiveIter`](https://doc.rust-lang.org/stable/core/range/struct.RangeToInclusiveIter.html) +- [`core::range::RangeFrom`](https://doc.rust-lang.org/stable/core/ops/struct.RangeFrom.html) +- [`core::range::RangeFromIter`](https://doc.rust-lang.org/stable/core/ops/struct.RangeFromIter.html) +- [`core::range::Range`](https://doc.rust-lang.org/stable/std/range/struct.Range.html) +- [`core::range::RangeIter`](https://doc.rust-lang.org/stable/std/range/struct.RangeIter.html) + + + +Cargo +----- +- [Allow a dependency to specify both a git repository and an alternate registry.](https://github.com/rust-lang/cargo/pull/16810/) Just like with crates.io, the git repository will be used locally, but the registry version will be used when published. +- [Added `target.'cfg(..)'.rustdocflags` support in configuration.](https://github.com/rust-lang/cargo/pull/16846) +- Fixed [CVE-2026-5222](https://blog.rust-lang.org/2026/05/25/cve-2026-5222/) and [CVE-2026-5223](https://blog.rust-lang.org/2026/05/25/cve-2026-5223/). + + + +Rustdoc +----- +- [Deprecation notes are now rendered like any other documentation](https://github.com/rust-lang/rust/pull/149931). Previously they used the css `white-space: pre-wrap;` property and stripped any `

` elements from the rendered html, however this caused issues and unintuitive behavior. The new behavior should be more predictable, however some multi-line deprecation notes will now be rendered as as single lines. If this is undesirable, you can use the standard markdown method of forcing a linebreak, which is two spaces followed by a newline (`"\n"`). +- [Don't emit rustdoc `missing_doc_code_examples` lint on impl items](https://github.com/rust-lang/rust/pull/154048) +- [Separate methods and associated functions in sidebar](https://github.com/rust-lang/rust/pull/154644) + + + +Compatibility Notes +------------------- +- [Fix layout of `#[repr(Int)]` enums in some edge cases involving fields of uninhabited zero-sized types](https://github.com/rust-lang/rust/pull/146989) +- [Prevent unsize-coercing into `Pin` where `Foo` doesn't implement `Deref`. Some such coercions were previously allowed, but produce a type with no useful public API.](https://github.com/rust-lang/rust/pull/149218) +- [rustc: Stop passing `--allow-undefined` on wasm targets](https://github.com/rust-lang/rust/pull/149868) +- [Gate the accidentally stabilized `#![reexport_test_harness_main]` attribute](https://github.com/rust-lang/rust/pull/152210) +- [Error on return-position-impl-trait-in-traits whose types are too private](https://github.com/rust-lang/rust/pull/152543) +- [Report the `uninhabited_static` lint in dependencies and make it deny-by-default](https://github.com/rust-lang/rust/pull/152853) +- [Distributed builds now contain non-split debuginfo for windows-gnu](https://github.com/rust-lang/rust/pull/152870) + This appears to improve the quality of backtraces. This change has no effect on the defaults for the output of rustc/cargo on these targets. +- [Check const generic arguments are correctly typed in more positions](https://github.com/rust-lang/rust/pull/152931) +- [Remove `-Csoft-float`](https://github.com/rust-lang/rust/pull/152973) +- [Importing structs with `::{self [as name]}`, e.g., `struct S {}; use S::{self as Other};`, is now no longer permitted because `{self}` imports require a module parent.](https://github.com/rust-lang/rust/pull/152996) +- [For `export_name`, `link_name`, and `link_section` attributes, if multiple of the same attribute is present, the first one now takes precedence.](https://github.com/rust-lang/rust/pull/153041) +- [Update the minimum external LLVM to 21](https://github.com/rust-lang/rust/pull/153684) +- On `avr` targets, C's `double` type is 32-bit by default, so [change `c_double` to `f32` on `avr` targets to match](https://github.com/rust-lang/rust/pull/154647). This is a breaking change, but necessary to make `c_double` match C's double. +- [`BTreeMap::append()` was optimized, which may now cause panics for types with incorrect `Ord` impls](https://github.com/rust-lang/rust/pull/153107) + + + +Internal Changes +---------------- + +These changes do not affect any public interfaces of Rust, but they represent +significant improvements to the performance or internals of rustc and related +tools. + +- [JSON targets: `aarch64` softfloat targets now have to have `rustc_abi` set to `"softfloat"`](https://github.com/rust-lang/rust/pull/152941) +- [target specs: stricter checks for LLVM ABI values, and correlate that with `cfg(target_abi)`](https://github.com/rust-lang/rust/pull/153769) + + Version 1.95.0 (2026-04-16) =========================== diff --git a/src/ci/channel b/src/ci/channel index 65b2df87f7df3..2bf5ad0447d33 100644 --- a/src/ci/channel +++ b/src/ci/channel @@ -1 +1 @@ -beta +stable diff --git a/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile b/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile index 9a3545dbad8d1..a06331d88490b 100644 --- a/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile +++ b/src/ci/docker/host-x86_64/armhf-gnu/Dockerfile @@ -35,14 +35,14 @@ WORKDIR /build # the kernel. This file was generated by running `make vexpress_defconfig` # followed by `make menuconfig` and then enabling the IPv6 protocol page. COPY host-x86_64/armhf-gnu/vexpress_config /build/.config -RUN curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.320.tar.xz | \ - tar xJf - && \ - cd /build/linux-4.14.320 && \ +RUN curl https://ci-mirrors.rust-lang.org/rustc/linux-4.14.336.tar.gz | \ + tar xzf - && \ + cd /build/linux-4.14.336 && \ cp /build/.config . && \ make -j$(nproc) all && \ cp arch/arm/boot/zImage /tmp && \ cd /build && \ - rm -rf linux-4.14.320 + rm -rf linux-4.14.336 # Compile an instance of busybox as this provides a lightweight system and init # binary which we will boot into. Only trick here is configuring busybox to diff --git a/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile index 6a647ac162e4e..36ef0befb3337 100644 --- a/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile +++ b/src/ci/docker/host-x86_64/disabled/dist-x86_64-redox/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh WORKDIR /tmp diff --git a/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/Dockerfile b/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/Dockerfile index f0d54b0d33d60..bd9937fdf6fc3 100644 --- a/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh WORKDIR /build diff --git a/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/arm-linux-gnueabi.defconfig b/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/arm-linux-gnueabi.defconfig index e7afdbe9d4dea..ba7bbf0630cf7 100644 --- a/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/arm-linux-gnueabi.defconfig +++ b/src/ci/docker/host-x86_64/dist-arm-linux-gnueabi/arm-linux-gnueabi.defconfig @@ -2,11 +2,14 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_ARM=y CT_ARCH_ARCH="armv6" CT_ARCH_FLOAT_SW=y CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_17=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-armhf-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-armhf-linux/Dockerfile index 08b0c2ad04531..99cbdca526fbd 100644 --- a/src/ci/docker/host-x86_64/dist-armhf-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-armhf-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-armhf-linux/arm-linux-gnueabihf.defconfig b/src/ci/docker/host-x86_64/dist-armhf-linux/arm-linux-gnueabihf.defconfig index c7c5b4d5a2865..cfb6ca284be86 100644 --- a/src/ci/docker/host-x86_64/dist-armhf-linux/arm-linux-gnueabihf.defconfig +++ b/src/ci/docker/host-x86_64/dist-armhf-linux/arm-linux-gnueabihf.defconfig @@ -2,12 +2,15 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_ARM=y CT_ARCH_ARCH="armv6" CT_ARCH_FPU="vfp" CT_ARCH_FLOAT_HW=y CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_17=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-armv7-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-armv7-linux/Dockerfile index c86bdbbc41b47..880966a2bd958 100644 --- a/src/ci/docker/host-x86_64/dist-armv7-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-armv7-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-armv7-linux/armv7-linux-gnueabihf.defconfig b/src/ci/docker/host-x86_64/dist-armv7-linux/armv7-linux-gnueabihf.defconfig index 3f37e546b4255..3f624aaa4342a 100644 --- a/src/ci/docker/host-x86_64/dist-armv7-linux/armv7-linux-gnueabihf.defconfig +++ b/src/ci/docker/host-x86_64/dist-armv7-linux/armv7-linux-gnueabihf.defconfig @@ -2,6 +2,7 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_ARM=y CT_ARCH_ARM_MODE_THUMB=y CT_ARCH_SUFFIX="v7" @@ -9,7 +10,9 @@ CT_ARCH_ARCH="armv7-a" CT_ARCH_FPU="vfpv3-d16" CT_ARCH_FLOAT_HW=y CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_17=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile index cf8ff07a5b07f..e80fe2a879368 100644 --- a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/Dockerfile @@ -22,6 +22,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/i586-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/i586-linux-gnu.defconfig index f5f3cfd4b49f3..ac9c40f77873e 100644 --- a/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/i586-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-i586-gnu-i586-i686-musl/i586-linux-gnu.defconfig @@ -2,11 +2,14 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_X86=y CT_ARCH_ARCH="i586" CT_TARGET_CFLAGS="-Wa,-mrelax-relocations=no" CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_32=y CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-compressed-debug-sections=none" CT_GLIBC_V_2_17=y diff --git a/src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile index 3ee8cb9ed7e8f..c4f8351bd9466 100644 --- a/src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-loongarch64-linux/loongarch64-unknown-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-loongarch64-linux/loongarch64-unknown-linux-gnu.defconfig index 9ff9791c0b2cf..60c9cc7ef7252 100644 --- a/src/ci/docker/host-x86_64/dist-loongarch64-linux/loongarch64-unknown-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-loongarch64-linux/loongarch64-unknown-linux-gnu.defconfig @@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_LOONGARCH=y # CT_DEMULTILIB is not set CT_ARCH_USE_MMU=y @@ -11,6 +12,7 @@ CT_TARGET_CFLAGS="-mcmodel=medium" CT_TARGET_LDFLAGS="-mcmodel=medium" CT_KERNEL_LINUX=y CT_LINUX_V_5_19=y +CT_LINUX_VERSION="5.19.16" CT_GLIBC_V_2_36=y CT_BINUTILS_V_2_45=y CT_GCC_V_15=y diff --git a/src/ci/docker/host-x86_64/dist-loongarch64-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-loongarch64-musl/Dockerfile index 54c1869a2a04f..61b28e4189a4a 100644 --- a/src/ci/docker/host-x86_64/dist-loongarch64-musl/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-loongarch64-musl/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-loongarch64-musl/loongarch64-unknown-linux-musl.defconfig b/src/ci/docker/host-x86_64/dist-loongarch64-musl/loongarch64-unknown-linux-musl.defconfig index 8c1562744fb52..73e29d7aca725 100644 --- a/src/ci/docker/host-x86_64/dist-loongarch64-musl/loongarch64-unknown-linux-musl.defconfig +++ b/src/ci/docker/host-x86_64/dist-loongarch64-musl/loongarch64-unknown-linux-musl.defconfig @@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_LOONGARCH=y # CT_DEMULTILIB is not set CT_ARCH_USE_MMU=y @@ -11,6 +12,7 @@ CT_TARGET_CFLAGS="-mcmodel=medium" CT_TARGET_LDFLAGS="-mcmodel=medium" CT_KERNEL_LINUX=y CT_LINUX_V_5_19=y +CT_LINUX_VERSION="5.19.16" CT_LIBC_MUSL=y CT_MUSL_V_1_2_5=y CT_BINUTILS_V_2_45=y diff --git a/src/ci/docker/host-x86_64/dist-mips-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-mips-linux/Dockerfile index 3d7f5f81fbec6..5f84f7eefcce9 100644 --- a/src/ci/docker/host-x86_64/dist-mips-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-mips-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-mips-linux/mips-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-mips-linux/mips-linux-gnu.defconfig index 94db07922a226..8c4e547a8beb4 100644 --- a/src/ci/docker/host-x86_64/dist-mips-linux/mips-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-mips-linux/mips-linux-gnu.defconfig @@ -2,11 +2,13 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_MIPS=y CT_ARCH_mips_o32=y CT_ARCH_ARCH="mips32r2" CT_KERNEL_LINUX=y CT_LINUX_V_4_4=y +CT_LINUX_VERSION="4.4.302" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_23=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-mips64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-mips64-linux/Dockerfile index 3c798d737a48d..da841f6a19d9c 100644 --- a/src/ci/docker/host-x86_64/dist-mips64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-mips64-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-mips64-linux/mips64-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-mips64-linux/mips64-linux-gnu.defconfig index f295a2fafc6b1..725ec99f58619 100644 --- a/src/ci/docker/host-x86_64/dist-mips64-linux/mips64-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-mips64-linux/mips64-linux-gnu.defconfig @@ -2,12 +2,14 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_MIPS=y CT_ARCH_mips_n64=y CT_ARCH_64=y CT_ARCH_ARCH="mips64r2" CT_KERNEL_LINUX=y CT_LINUX_V_4_4=y +CT_LINUX_VERSION="4.4.302" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_23=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-mips64el-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-mips64el-linux/Dockerfile index 32fd634555c2b..f509f17eefecc 100644 --- a/src/ci/docker/host-x86_64/dist-mips64el-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-mips64el-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-mips64el-linux/mips64el-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-mips64el-linux/mips64el-linux-gnu.defconfig index 47d6246356526..a577f0eb196da 100644 --- a/src/ci/docker/host-x86_64/dist-mips64el-linux/mips64el-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-mips64el-linux/mips64el-linux-gnu.defconfig @@ -2,6 +2,7 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_MIPS=y CT_ARCH_mips_n64=y CT_ARCH_LE=y @@ -9,6 +10,7 @@ CT_ARCH_64=y CT_ARCH_ARCH="mips64r2" CT_KERNEL_LINUX=y CT_LINUX_V_4_4=y +CT_LINUX_VERSION="4.4.302" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_23=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-mipsel-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-mipsel-linux/Dockerfile index 73ab0cf5bab65..f1fad8e2cc12e 100644 --- a/src/ci/docker/host-x86_64/dist-mipsel-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-mipsel-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-mipsel-linux/mipsel-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-mipsel-linux/mipsel-linux-gnu.defconfig index 5daa83ebc02a7..7497b6c45bfb4 100644 --- a/src/ci/docker/host-x86_64/dist-mipsel-linux/mipsel-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-mipsel-linux/mipsel-linux-gnu.defconfig @@ -2,12 +2,14 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_MIPS=y CT_ARCH_mips_o32=y CT_ARCH_LE=y CT_ARCH_ARCH="mips32r2" CT_KERNEL_LINUX=y CT_LINUX_V_4_4=y +CT_LINUX_VERSION="4.4.302" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_23=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-powerpc-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-powerpc-linux/Dockerfile index 825392414671d..4cef669c25d44 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-powerpc-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-powerpc-linux/powerpc-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-powerpc-linux/powerpc-linux-gnu.defconfig index 6a0e96a3b67bc..1774a246c44bb 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc-linux/powerpc-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-powerpc-linux/powerpc-linux-gnu.defconfig @@ -2,10 +2,13 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_POWERPC=y CT_ARCH_CPU="powerpc" CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_30=y CT_GLIBC_V_2_17=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/Dockerfile b/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/Dockerfile index ad0e210190170..4ee0bd829cfa1 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/powerpc64-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/powerpc64-linux-gnu.defconfig index 2b442cbe79467..c3b817afb30ed 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/powerpc64-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-powerpc64-linux-gnu/powerpc64-linux-gnu.defconfig @@ -2,12 +2,15 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_POWERPC=y CT_ARCH_CPU="power4" CT_ARCH_TUNE="power6" CT_ARCH_64=y CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_17=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/Dockerfile index 17783b9c73588..bfbad2c70de61 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/powerpc64-unknown-linux-musl.defconfig b/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/powerpc64-unknown-linux-musl.defconfig index 4b7a9c3d671f9..6a9e38a8902a8 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/powerpc64-unknown-linux-musl.defconfig +++ b/src/ci/docker/host-x86_64/dist-powerpc64-linux-musl/powerpc64-unknown-linux-musl.defconfig @@ -3,12 +3,14 @@ CT_EXPERIMENTAL=y CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_POWERPC=y CT_ARCH_64=y CT_ARCH_ABI="elfv2" # CT_DEMULTILIB is not set CT_KERNEL_LINUX=y CT_LINUX_V_4_19=y +CT_LINUX_VERSION="4.19.325" CT_LIBC_MUSL=y CT_MUSL_V_1_2_5=y CT_BINUTILS_V_2_42=y diff --git a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/Dockerfile b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/Dockerfile index 6a9573cb4231c..e3540e7b68128 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/powerpc64le-unknown-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/powerpc64le-unknown-linux-gnu.defconfig index e1fd950922f71..3d0f885649a30 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/powerpc64le-unknown-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-gnu/powerpc64le-unknown-linux-gnu.defconfig @@ -3,13 +3,16 @@ CT_EXPERIMENTAL=y CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_POWERPC=y CT_ARCH_LE=y CT_ARCH_64=y # CT_DEMULTILIB is not set CT_ARCH_ARCH="powerpc64le" CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_10=y +CT_LINUX_VERSION="3.10.108" CT_GLIBC_V_2_17=y CT_BINUTILS_V_2_42=y CT_GCC_V_14=y diff --git a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/Dockerfile b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/Dockerfile index be16966fbe1b4..615f41028dbc0 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/powerpc64le-unknown-linux-musl.defconfig b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/powerpc64le-unknown-linux-musl.defconfig index a89e08572acab..c141dbb00eaca 100644 --- a/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/powerpc64le-unknown-linux-musl.defconfig +++ b/src/ci/docker/host-x86_64/dist-powerpc64le-linux-musl/powerpc64le-unknown-linux-musl.defconfig @@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_POWERPC=y CT_ARCH_LE=y CT_ARCH_64=y @@ -10,6 +11,7 @@ CT_ARCH_64=y CT_ARCH_ARCH="powerpc64le" CT_KERNEL_LINUX=y CT_LINUX_V_4_19=y +CT_LINUX_VERSION="4.19.325" CT_LIBC_MUSL=y CT_MUSL_V_1_2_5=y CT_BINUTILS_V_2_42=y diff --git a/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile index 51d9e8a5798aa..5186c99c4f430 100644 --- a/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig index 75eb356bc9587..95df5205150d1 100644 --- a/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig @@ -3,6 +3,7 @@ CT_EXPERIMENTAL=y CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_RISCV=y # CT_DEMULTILIB is not set CT_ARCH_USE_MMU=y @@ -10,6 +11,7 @@ CT_ARCH_64=y CT_ARCH_ARCH="rv64gc" CT_KERNEL_LINUX=y CT_LINUX_V_4_20=y +CT_LINUX_VERSION="4.20.17" CT_BINUTILS_V_2_40=y CT_GLIBC_V_2_29=y CT_GCC_V_8=y diff --git a/src/ci/docker/host-x86_64/dist-s390x-linux/Dockerfile b/src/ci/docker/host-x86_64/dist-s390x-linux/Dockerfile index 413249e02e87f..e9cf707b1911e 100644 --- a/src/ci/docker/host-x86_64/dist-s390x-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/dist-s390x-linux/Dockerfile @@ -4,6 +4,7 @@ COPY scripts/cross-apt-packages.sh /scripts/ RUN sh /scripts/cross-apt-packages.sh COPY scripts/crosstool-ng.sh /scripts/ +COPY scripts/crosstool-ng-sha256-20260705.diff /scripts/ RUN sh /scripts/crosstool-ng.sh COPY scripts/rustbuild-setup.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/dist-s390x-linux/s390x-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-s390x-linux/s390x-linux-gnu.defconfig index 1fe21966600bb..2b27b00345d5c 100644 --- a/src/ci/docker/host-x86_64/dist-s390x-linux/s390x-linux-gnu.defconfig +++ b/src/ci/docker/host-x86_64/dist-s390x-linux/s390x-linux-gnu.defconfig @@ -2,10 +2,13 @@ CT_CONFIG_VERSION="4" CT_PREFIX_DIR="/x-tools/${CT_TARGET}" CT_USE_MIRROR=y CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc" +CT_VERIFY_DOWNLOAD_DIGEST_SHA256=y CT_ARCH_S390=y CT_ARCH_64=y CT_KERNEL_LINUX=y +CT_OBSOLETE=y CT_LINUX_V_3_2=y +CT_LINUX_VERSION="3.2.101" CT_BINUTILS_V_2_32=y CT_GLIBC_V_2_17=y CT_GCC_V_8=y diff --git a/src/ci/docker/scripts/crosstool-ng-sha256-20260705.diff b/src/ci/docker/scripts/crosstool-ng-sha256-20260705.diff new file mode 100644 index 0000000000000..6295edbbddb4e --- /dev/null +++ b/src/ci/docker/scripts/crosstool-ng-sha256-20260705.diff @@ -0,0 +1,77 @@ +diff --git a/packages/linux/3.10.108/chksum b/packages/linux/3.10.108/chksum +index 17c7f8ec..f6498231 100644 +--- a/packages/linux/3.10.108/chksum ++++ b/packages/linux/3.10.108/chksum +@@ -4,5 +4,5 @@ sha256 linux-3.10.108.tar.xz 3849ea8119517f605f9d53c57dd6c539af8d584c2f1d9031f4f + sha512 linux-3.10.108.tar.xz 2ed1bda124fbc0f03e7f4c4e5ddac73d15b82d24ff51f5dbb265cec7cc614b28f83923b5fc8df5e97a3244d2bbb861853f0f2a3894a0c64c5a08b489d4ae12ac + md5 linux-3.10.108.tar.gz b38e458f3a90ffa0815f2e2740bba7aa + sha1 linux-3.10.108.tar.gz 0b09e6fdc8152bea07a9d678119a23a35025d4d6 +-sha256 linux-3.10.108.tar.gz aff93454b2df33a0394253c8977c6d36c7205a423af6d8d4e3e1d67dfc9e07f8 ++sha256 linux-3.10.108.tar.gz b1711610cf3faf7194156dacdb98c63c1b7ffd02377269d7f75df63d823ccbba + sha512 linux-3.10.108.tar.gz 71c6f89a7620fecc8ce0f215b6aab52f6a6337b6474ae7447491a1ab4fc95eafa38e700cf667ec304220e9cbcaa669671b9ed15fe79cc679a4e4e9139b37ad8c +diff --git a/packages/linux/3.2.101/chksum b/packages/linux/3.2.101/chksum +index 1f9a68ba..7188ceeb 100644 +--- a/packages/linux/3.2.101/chksum ++++ b/packages/linux/3.2.101/chksum +@@ -4,5 +4,5 @@ sha256 linux-3.2.101.tar.xz 4453686b001685144f44c88d57c716fcb6e85ef8a2aad2f95d36 + sha512 linux-3.2.101.tar.xz 1058369878610cb9e42021dc7feb2e6b2fa67541b0fb4152e526f63e5dfee1d7a63b2f1fb0cfe59097824a743ba74f81526dc706bdb61fc7f1c5e29972b139ed + md5 linux-3.2.101.tar.gz ac6286e2ff2a66be117c1de20bdb6c72 + sha1 linux-3.2.101.tar.gz 8b2ab0dd4915e7517a26fa63112bde9b438d14d8 +-sha256 linux-3.2.101.tar.gz 0d02f47871e44fc12de452a8b41da119848a76d5f81159b8ae9ef57da5824712 ++sha256 linux-3.2.101.tar.gz 93e8391e029f131d5ba4b7ad76cc34b12f2c2244059604042f2297c4bde093f7 + sha512 linux-3.2.101.tar.gz 3951bda6970658c2915a0a8e8b022f7fc28d0fa4a5a8ef37a3a48a5d33a328dba3220a13979887b0df0cc2ba7f4ee92c32bc34ec84c6c1b0e4a1727765d412e0 +diff --git a/packages/linux/4.14.329/chksum b/packages/linux/4.14.329/chksum +index e5a318d3..44fa0469 100644 +--- a/packages/linux/4.14.329/chksum ++++ b/packages/linux/4.14.329/chksum +@@ -4,5 +4,5 @@ sha256 linux-4.14.329.tar.xz de36689d713ed17f8bc1286fe4b9afcdb9a3de3b6f1d6aff525 + sha512 linux-4.14.329.tar.xz b7851bfdd9b5b778c6dcd4fe0376ae3851a93d0030050e57e29472be11785e3fd01c8b167f26f2c04c1b05c89aed309b24d77407aabdcbfb76173545236c1c7b + md5 linux-4.14.329.tar.gz 0a75f96e4a19bfdeb41ff9289a111318 + sha1 linux-4.14.329.tar.gz 07f91c6f13ed3403d105d0a34b586f916f90c26c +-sha256 linux-4.14.329.tar.gz b0b08ea229defc872bef5c5dbe2fccde5ce739ba0c15dc3bce17aa26e7c24e43 ++sha256 linux-4.14.329.tar.gz 3850511cf1822f3bb7c4f2dcfb47a4575dfc2dd9510b3a22be1225a0b7a316b3 + sha512 linux-4.14.329.tar.gz 6056521d902d1681986a244f7edf12870eacfe39748d75a86ac1df0cec470f94eafe9fcd7c086fb55bdaff8eda97fdfbeaff3944b28500aa6a4334c511708508 +diff --git a/packages/linux/4.19.325/chksum b/packages/linux/4.19.325/chksum +index 9219f096..e938f889 100644 +--- a/packages/linux/4.19.325/chksum ++++ b/packages/linux/4.19.325/chksum +@@ -4,5 +4,5 @@ sha256 linux-4.19.325.tar.xz 607bed7de5cda31a443df4c8a78dbe5e8a9ad31afde2a4d28fe + sha512 linux-4.19.325.tar.xz 4a2c5f358e9caf47061d707db67738e0d1b1f24aebeeaab81dc2701cc3793ab574a7e0a3a5df2f99d6ff1d777acdca1d885da87ee31098c5b901853d8b580310 + md5 linux-4.19.325.tar.gz d8201f438135d2dc50302de5e6b7febc + sha1 linux-4.19.325.tar.gz 1a882796a187bbb2145d0e091ed370eed3d7f31b +-sha256 linux-4.19.325.tar.gz 8f360bb8ba9fb692507f27596422c7ceddec5f7fed4d8f3df2b7656b6042cfee ++sha256 linux-4.19.325.tar.gz 8753443636e475b506e08abd40059ec9b84904a115d206014f0c856dfe13a25e + sha512 linux-4.19.325.tar.gz 4e8cbfed3211b1c53122905ce588c421aedb05138581cd64986ddcba89b10ffcea8a3b1c63ec273abc02eac7c31f0f901e17677f4c3ed749b26fc47b75bce5f1 +diff --git a/packages/linux/4.20.17/chksum b/packages/linux/4.20.17/chksum +index 0d77f052..d64edcfd 100644 +--- a/packages/linux/4.20.17/chksum ++++ b/packages/linux/4.20.17/chksum +@@ -4,5 +4,5 @@ sha256 linux-4.20.17.tar.xz d011245629b980d4c15febf080b54804aaf215167b514a3577fe + sha512 linux-4.20.17.tar.xz d048b2e1e88be90c1983acbe71931fc0e716919b433990bd42ab1bb635fc4fc5953667966432b2bc1256fcd5afc211c12ca3e41b7feccdb39b4ced05e6e4071d + md5 linux-4.20.17.tar.gz 6b9d049ddeb6cb54ecd2bd3d5931ecda + sha1 linux-4.20.17.tar.gz 4743162961123c9c475628ecc31cfa80d822992a +-sha256 linux-4.20.17.tar.gz 830c472e5c0b4394936c347d70564dd661d8bed4ceb07f79dc8e8efdefd9bf73 ++sha256 linux-4.20.17.tar.gz 313b7bebb46084efbfcaf75f4ea6faf2e14c8cbc1711fcba483dc0a036c9acc1 + sha512 linux-4.20.17.tar.gz 8d4ff845e500e42908a3103a5c08ae3fa76265716cc0c4f37c4712a4d1f0721bd4adbac275136213ee40f490a5650de6e9d5e246e8c700ac11d65ad3ebb74425 +diff --git a/packages/linux/4.4.302/chksum b/packages/linux/4.4.302/chksum +index 9d2b041b..8dadd2f1 100644 +--- a/packages/linux/4.4.302/chksum ++++ b/packages/linux/4.4.302/chksum +@@ -4,5 +4,5 @@ sha256 linux-4.4.302.tar.xz 35017bb40b604e0b577fc2b87e727632b46608a2ba3a4f5858b9 + sha512 linux-4.4.302.tar.xz 2eb03f08bd0a8ee1630b20bc01bfe28f3ff396aca8c88247cc4db3a5c41bcabb6d8385dff90040480f4990f51b538415dedf283a5bc3807ef85e3d982b369570 + md5 linux-4.4.302.tar.gz 81f7f97ebc94e89311bb20e22b0e6004 + sha1 linux-4.4.302.tar.gz 2160955ff98a3694ae0574d247cea293d91292af +-sha256 linux-4.4.302.tar.gz 66271f9d9fce8596622e8154ca0ea160e46b78a5a6c967a15b55855f744d1b0b ++sha256 linux-4.4.302.tar.gz a22ceab143d40f511203265e5a70d6cc5ec39163cd54fa281346d19176f64451 + sha512 linux-4.4.302.tar.gz de6ad09783be1faf422e0b476d67768fff8bf1fcdc1e2ab27f915a26f7acdbecaa4a1a2385f78d3001e28ad83b3b55150eb2b996d1b64c6376f5f1d68af019f4 +diff --git a/packages/linux/5.19.16/chksum b/packages/linux/5.19.16/chksum +index c16d312c..64ee13fa 100644 +--- a/packages/linux/5.19.16/chksum ++++ b/packages/linux/5.19.16/chksum +@@ -4,5 +4,5 @@ sha256 linux-5.19.16.tar.xz a1ebaf667e1059ae2d72aa6374a4d6e2febc0b8ccda6a124687a + sha512 linux-5.19.16.tar.xz 1ff662424830fbd48ac1d8c1aabd4d11a8eabc284c4fe3fdf803064d4f56d9c1b631a0fb60679bac40a4e05b77d5e6706a8fd52a5e025ef4f1231a6cc84bbbde + md5 linux-5.19.16.tar.gz 15c43c56b85175aacafaaa4ef1983298 + sha1 linux-5.19.16.tar.gz cd7fb09335a4814a88fedf7ed064e6f10fd1c8db +-sha256 linux-5.19.16.tar.gz 9b835ea04b0210ad0748829367acd84e09357c3dd6d0f48e31737a7f21e990ff ++sha256 linux-5.19.16.tar.gz bbf0ead65559250e0784c13d4f9716b7f917a1d3a4e00f671f3994cc6990bb02 + sha512 linux-5.19.16.tar.gz 9b0330c7257aecba3f6f97566014c03d8012e1b2c5c1ee2c3b5ea1b7a2ca01addf346b5235d772b26e4312b0fc1bb529689390445668606ed96e66174cf93341 diff --git a/src/ci/docker/scripts/crosstool-ng.sh b/src/ci/docker/scripts/crosstool-ng.sh index 434c662c99c89..d0b0491bacba3 100644 --- a/src/ci/docker/scripts/crosstool-ng.sh +++ b/src/ci/docker/scripts/crosstool-ng.sh @@ -1,6 +1,8 @@ #!/bin/sh set -ex +# ignore-tidy-linelength + CT_NG=1.28.0 url="https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-$CT_NG.tar.gz" @@ -11,6 +13,12 @@ cd crosstool-ng-crosstool-ng-$CT_NG # "download source of zlib is invalid now" sed -e "s|zlib.net/'|zlib.net/fossils'|" -i packages/zlib/package.desc +# FIXME(#158718): patch crosstools-ng known-good kernel artifact SHA256 +# checksums to the artifacts we mirror in `ci-mirrors`. +# See +# . +patch -p1