commit: 041fa9b8b6c90e3206402e50a1db49fea0d0a8a7 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Oct 20 23:40:07 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Oct 20 23:40:07 2025 +0000 URL: https://gitweb.gentoo.org/proj/rust-patches.git/commit/?id=041fa9b8
1.90.0-compiler-musl-dynamic-linking.patch: rebase As noted in the bug, upstream commit fce677141065524f56c9ac8528a3c1172cdb444b applies this change for some targets, so rebase our patch to not change that subset. Closes: https://bugs.gentoo.org/964419 Signed-off-by: Sam James <sam <AT> gentoo.org> 1.90.0-compiler-musl-dynamic-linking.patch | 126 ++--------------------------- 1 file changed, 6 insertions(+), 120 deletions(-) diff --git a/1.90.0-compiler-musl-dynamic-linking.patch b/1.90.0-compiler-musl-dynamic-linking.patch index 0f0c4a7..9c4256e 100644 --- a/1.90.0-compiler-musl-dynamic-linking.patch +++ b/1.90.0-compiler-musl-dynamic-linking.patch @@ -1,4 +1,5 @@ -From 0c368b56fdc88719ff2bcf78746b618db8432a42 Mon Sep 17 00:00:00 2001 +From 140cc19cf02c3b070e7f3e2aa2c9223e78ab0fca Mon Sep 17 00:00:00 2001 +Message-ID: <140cc19cf02c3b070e7f3e2aa2c9223e78ab0fca.1761003588.git....@gentoo.org> From: Matt Jolly <[email protected]> Date: Tue, 29 Jul 2025 14:54:14 +1000 Subject: [PATCH] compiler: musl: dynamic linking by default @@ -13,17 +14,9 @@ Signed-off-by: Matt Jolly <[email protected]> .../src/spec/targets/armv7_unknown_linux_musleabihf.rs | 3 +-- .../rustc_target/src/spec/targets/i586_unknown_linux_musl.rs | 2 -- .../rustc_target/src/spec/targets/i686_unknown_linux_musl.rs | 2 -- - .../src/spec/targets/mips64_unknown_linux_muslabi64.rs | 3 +-- - .../src/spec/targets/mips64el_unknown_linux_muslabi64.rs | 3 +-- - .../src/spec/targets/powerpc64_unknown_linux_musl.rs | 3 +-- .../src/spec/targets/powerpc64le_unknown_linux_musl.rs | 3 +-- - .../src/spec/targets/powerpc_unknown_linux_musl.rs | 2 -- - .../src/spec/targets/powerpc_unknown_linux_muslspe.rs | 2 -- - .../src/spec/targets/riscv32gc_unknown_linux_musl.rs | 3 +-- - .../rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs | 2 -- - .../src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs | 3 +-- .../rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs | 2 -- - 18 files changed, 11 insertions(+), 37 deletions(-) + 10 files changed, 6 insertions(+), 21 deletions(-) diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_linux_musl.rs index 478726fbef6..b7b345e568b 100644 @@ -134,48 +127,6 @@ index 47a7eb3d597..da1026485bd 100644 // The unwinder used by i686-unknown-linux-musl, the LLVM libunwind // implementation, apparently relies on frame pointers existing... somehow. -diff --git a/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs b/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs -index f95ce756354..b85df7f3a29 100644 ---- a/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs -+++ b/compiler/rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64.rs -@@ -23,8 +23,7 @@ pub(crate) fn target() -> Target { - abi: "abi64".into(), - endian: Endian::Big, - mcount: "_mcount".into(), -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- crt_static_default: true, -+ crt_static_default: false, - llvm_abiname: "n64".into(), - ..base - }, -diff --git a/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs b/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs -index d42e097b0fd..328c8a3cc36 100644 ---- a/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs -+++ b/compiler/rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64.rs -@@ -5,8 +5,7 @@ pub(crate) fn target() -> Target { - base.cpu = "mips64r2".into(); - base.features = "+mips64r2,+xgot".into(); - base.max_atomic_width = Some(64); -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- base.crt_static_default = true; -+ base.crt_static_default = false; - Target { - // LLVM doesn't recognize "muslabi64" yet. - llvm_target: "mips64el-unknown-linux-musl".into(), -diff --git a/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs -index 4dc76f0936c..5fde7929062 100644 ---- a/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs -+++ b/compiler/rustc_target/src/spec/targets/powerpc64_unknown_linux_musl.rs -@@ -10,8 +10,7 @@ pub(crate) fn target() -> Target { - base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]); - base.max_atomic_width = Some(64); - base.stack_probes = StackProbeType::Inline; -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- base.crt_static_default = true; -+ base.crt_static_default = false; - base.abi = "elfv2".into(); - base.llvm_abiname = "elfv2".into(); - diff --git a/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs index 26ee6a68c6a..6fc67dfdcb6 100644 --- a/compiler/rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl.rs @@ -190,73 +141,6 @@ index 26ee6a68c6a..6fc67dfdcb6 100644 base.abi = "elfv2".into(); base.llvm_abiname = "elfv2".into(); -diff --git a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs -index 316b62d941b..f39142d0101 100644 ---- a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs -+++ b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_musl.rs -@@ -9,8 +9,6 @@ pub(crate) fn target() -> Target { - base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]); - base.max_atomic_width = Some(32); - base.stack_probes = StackProbeType::Inline; -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- base.crt_static_default = true; - - Target { - llvm_target: "powerpc-unknown-linux-musl".into(), -diff --git a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs -index 30d0d9cb60a..8ddb45483b3 100644 ---- a/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs -+++ b/compiler/rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe.rs -@@ -9,8 +9,6 @@ pub(crate) fn target() -> Target { - base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-mspe"]); - base.max_atomic_width = Some(32); - base.stack_probes = StackProbeType::Inline; -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- base.crt_static_default = true; - - Target { - llvm_target: "powerpc-unknown-linux-muslspe".into(), -diff --git a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs -index 938b39b10c6..43a937c1a39 100644 ---- a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs -+++ b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs -@@ -23,8 +23,7 @@ pub(crate) fn target() -> Target { - llvm_abiname: "ilp32d".into(), - max_atomic_width: Some(32), - supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]), -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- crt_static_default: true, -+ crt_static_default: false, - ..base::linux_musl::opts() - }, - } -diff --git a/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs -index e9522ac760e..0cdbb626739 100644 ---- a/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs -+++ b/compiler/rustc_target/src/spec/targets/s390x_unknown_linux_musl.rs -@@ -13,8 +13,6 @@ pub(crate) fn target() -> Target { - base.stack_probes = StackProbeType::Inline; - base.supported_sanitizers = - SanitizerSet::ADDRESS | SanitizerSet::LEAK | SanitizerSet::MEMORY | SanitizerSet::THREAD; -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- base.crt_static_default = true; - - Target { - llvm_target: "s390x-unknown-linux-musl".into(), -diff --git a/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs b/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs -index 81c502bfead..fd1ebb430da 100644 ---- a/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs -+++ b/compiler/rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf.rs -@@ -27,8 +27,7 @@ pub(crate) fn target() -> Target { - features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".into(), - max_atomic_width: Some(64), - mcount: "\u{1}mcount".into(), -- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. -- crt_static_default: true, -+ crt_static_default: false, - ..base::linux_musl::opts() - }, - } diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs index cc5f8886240..0203c776a01 100644 --- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs @@ -270,6 +154,8 @@ index cc5f8886240..0203c776a01 100644 Target { llvm_target: "x86_64-unknown-linux-musl".into(), + +base-commit: 4068bafedd8ba724e332a5221c06a6fa531a30d2 -- -2.50.1 +2.51.1
