commit: b3d182e7b831e65530c51d81bf21ac654c5dd81d Author: Matt Jolly <kangie <AT> gentoo <DOT> org> AuthorDate: Mon Jun 2 09:22:16 2025 +0000 Commit: Matt Jolly <kangie <AT> gentoo <DOT> org> CommitDate: Mon Jun 2 09:22:16 2025 +0000 URL: https://gitweb.gentoo.org/proj/rust-patches.git/commit/?id=b3d182e7
Add patches for Rust 1.74.1-r101 Patches: - 1.62.1-musl-dynamic-linking.patch - 1.67.0-doc-wasm.patch - 1.70.0-ignore-broken-and-non-applicable-tests.patch - 1.74.1-cross-compile-libz.patch Signed-off-by: Matt Jolly <kangie <AT> gentoo.org> 1.62.1-musl-dynamic-linking.patch | 19 +++++++++++++++ 1.67.0-doc-wasm.patch | 28 ++++++++++++++++++++++ ....0-ignore-broken-and-non-applicable-tests.patch | 24 +++++++++++++++++++ 1.74.1-cross-compile-libz.patch | 17 +++++++++++++ 4 files changed, 88 insertions(+) diff --git a/1.62.1-musl-dynamic-linking.patch b/1.62.1-musl-dynamic-linking.patch new file mode 100644 index 0000000..b64775c --- /dev/null +++ b/1.62.1-musl-dynamic-linking.patch @@ -0,0 +1,19 @@ +From e42709c46647dab342b826d30324f3e6e5590e00 Mon Sep 17 00:00:00 2001 +From: Jory Pratt <[email protected]> +Date: Tue, 2 Aug 2022 18:32:53 -0500 +Subject: [PATCH] Enable dynamic linking by default for musl + +Signed-off-by: Jory Pratt <[email protected]> +--- a/compiler/rustc_target/src/spec/linux_musl_base.rs ++++ b/compiler/rustc_target/src/spec/linux_musl_base.rs +@@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions { + base.crt_objects_fallback = Some(CrtObjectsFallback::Musl); + + // These targets statically link libc by default +- base.crt_static_default = true; ++ base.crt_static_default = false; + + base + } +-- +2.35.1 diff --git a/1.67.0-doc-wasm.patch b/1.67.0-doc-wasm.patch new file mode 100644 index 0000000..30cb8b9 --- /dev/null +++ b/1.67.0-doc-wasm.patch @@ -0,0 +1,28 @@ +From 92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 Mon Sep 17 00:00:00 2001 +From: John Millikin <[email protected]> +Date: Mon, 9 Jan 2023 13:54:21 +0900 +Subject: [PATCH] Disable `linux_ext` in wasm32 and fortanix rustdoc builds. + +The `std::os::unix` module is stubbed out when building docs for these +target platforms. The introduction of Linux-specific extension traits +caused `std::os::net` to depend on sub-modules of `std::os::unix`, +which broke rustdoc for the `wasm32-unknown-unknown` target. + +Adding an additional `#[cfg]` guard solves that rustdoc failure by +not declaring `linux_ext` on targets with a stubbed `std::os::unix`. +--- a/library/std/src/os/net/mod.rs ++++ b/library/std/src/os/net/mod.rs +@@ -1,4 +1,13 @@ + //! OS-specific networking functionality. + ++// See cfg macros in `library/std/src/os/mod.rs` for why these platforms must ++// be special-cased during rustdoc generation. ++#[cfg(not(all( ++ doc, ++ any( ++ all(target_arch = "wasm32", not(target_os = "wasi")), ++ all(target_vendor = "fortanix", target_env = "sgx") ++ ) ++)))] + #[cfg(any(target_os = "linux", target_os = "android", doc))] + pub(super) mod linux_ext; diff --git a/1.70.0-ignore-broken-and-non-applicable-tests.patch b/1.70.0-ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 0000000..590f960 --- /dev/null +++ b/1.70.0-ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,24 @@ +From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <[email protected]> +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 12/15] Ignore broken and non-applicable tests + +c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 +env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) +long-linker-command-lines: takes >10 minutes to run (but still passes) +simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without RPATH +--- a/tests/ui/env-funky-keys.rs ++++ b/tests/ui/env-funky-keys.rs +@@ -1,6 +1,7 @@ + // run-pass + // Ignore this test on Android, because it segfaults there. + ++// ignore-test + // ignore-android + // ignore-windows + // ignore-cloudabi no execve +-- +2.24.1 + diff --git a/1.74.1-cross-compile-libz.patch b/1.74.1-cross-compile-libz.patch new file mode 100644 index 0000000..98cec09 --- /dev/null +++ b/1.74.1-cross-compile-libz.patch @@ -0,0 +1,17 @@ +https://paste.sr.ht/~kchibisov/682321e0fd4a3ece4a4b7b71591896f5cd3cdb22 +https://github.com/gentoo/gentoo/pull/35246#discussion_r1484525497 + +--- a/compiler/rustc_llvm/build.rs ++++ b/compiler/rustc_llvm/build.rs +@@ -237,10 +237,7 @@ fn main() { + // of llvm-config, not the target that we're attempting to link. + let mut cmd = Command::new(&llvm_config); + cmd.arg(llvm_link_arg).arg("--libs"); +- +- if !is_crossed { +- cmd.arg("--system-libs"); +- } ++ cmd.arg("--system-libs"); + + if (target.starts_with("arm") && !target.contains("freebsd")) + || target.starts_with("mips-")
