fix-linux_musl_base.patch (2983B)
1 diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs 2 index 1a854fe..7b0cc7b 100644 3 --- a/compiler/rustc_target/src/spec/base/linux_musl.rs 4 +++ b/compiler/rustc_target/src/spec/base/linux_musl.rs 5 @@ -1,12 +1,9 @@ 6 -use crate::spec::{LinkSelfContainedDefault, TargetOptions, base, crt_objects}; 7 +use crate::spec::{base, TargetOptions}; 8 9 pub(crate) fn opts() -> TargetOptions { 10 let mut base = base::linux::opts(); 11 12 base.env = "musl".into(); 13 - base.pre_link_objects_self_contained = crt_objects::pre_musl_self_contained(); 14 - base.post_link_objects_self_contained = crt_objects::post_musl_self_contained(); 15 - base.link_self_contained = LinkSelfContainedDefault::InferredForMusl; 16 17 base 18 } 19 diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs 20 index e3b6430..13a96e2 100644 21 --- a/compiler/rustc_target/src/spec/crt_objects.rs 22 +++ b/compiler/rustc_target/src/spec/crt_objects.rs 23 @@ -62,28 +62,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects { 24 ]) 25 } 26 27 -pub(super) fn pre_musl_self_contained() -> CrtObjects { 28 - new(&[ 29 - (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]), 30 - (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o", "crtbeginS.o"]), 31 - (LinkOutputKind::StaticNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]), 32 - (LinkOutputKind::StaticPicExe, &["rcrt1.o", "crti.o", "crtbeginS.o"]), 33 - (LinkOutputKind::DynamicDylib, &["crti.o", "crtbeginS.o"]), 34 - (LinkOutputKind::StaticDylib, &["crti.o", "crtbeginS.o"]), 35 - ]) 36 -} 37 - 38 -pub(super) fn post_musl_self_contained() -> CrtObjects { 39 - new(&[ 40 - (LinkOutputKind::DynamicNoPicExe, &["crtend.o", "crtn.o"]), 41 - (LinkOutputKind::DynamicPicExe, &["crtendS.o", "crtn.o"]), 42 - (LinkOutputKind::StaticNoPicExe, &["crtend.o", "crtn.o"]), 43 - (LinkOutputKind::StaticPicExe, &["crtendS.o", "crtn.o"]), 44 - (LinkOutputKind::DynamicDylib, &["crtendS.o", "crtn.o"]), 45 - (LinkOutputKind::StaticDylib, &["crtendS.o", "crtn.o"]), 46 - ]) 47 -} 48 - 49 pub(super) fn pre_mingw_self_contained() -> CrtObjects { 50 new(&[ 51 (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]), 52 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 53 index 8dcdc5b..25f53d6 100644 54 --- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs 55 +++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_musl.rs 56 @@ -14,8 +14,7 @@ pub(crate) fn target() -> Target { 57 | SanitizerSet::MEMORY 58 | SanitizerSet::THREAD; 59 base.supports_xray = true; 60 - // FIXME(compiler-team#422): musl targets should be dynamically linked by default. 61 - base.crt_static_default = true; 62 + base.crt_static_default = false; 63 64 Target { 65 llvm_target: "x86_64-unknown-linux-musl".into(),