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