diff options
Diffstat (limited to 'repos/extra/rust/fix-linux_musl_base.patch')
| -rw-r--r-- | repos/extra/rust/fix-linux_musl_base.patch | 48 |
1 files changed, 28 insertions, 20 deletions
diff --git a/repos/extra/rust/fix-linux_musl_base.patch b/repos/extra/rust/fix-linux_musl_base.patch index a9293008..acd156e1 100644 --- a/repos/extra/rust/fix-linux_musl_base.patch +++ b/repos/extra/rust/fix-linux_musl_base.patch @@ -1,12 +1,8 @@ -From: Jakub Jirutka <jakub@jirutka.cz> -Date: Sat, 08 Aug 2016 15:06:00 +0200 -Subject: [PATCH] Fix linux_musl_base for native musl host - -See https://github.com/rust-lang/rust/pull/40113 - +diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs +index 1a854fe..7b0cc7b 100644 --- a/compiler/rustc_target/src/spec/base/linux_musl.rs +++ b/compiler/rustc_target/src/spec/base/linux_musl.rs -@@ -1,15 +1,12 @@ +@@ -1,12 +1,9 @@ -use crate::spec::{LinkSelfContainedDefault, TargetOptions, base, crt_objects}; +use crate::spec::{base, TargetOptions}; @@ -18,21 +14,16 @@ See https://github.com/rust-lang/rust/pull/40113 - base.post_link_objects_self_contained = crt_objects::post_musl_self_contained(); - base.link_self_contained = LinkSelfContainedDefault::InferredForMusl; - // These targets statically link libc by default -- base.crt_static_default = true; -+ base.crt_static_default = false; - base } +diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs +index e3b6430..13a96e2 100644 --- a/compiler/rustc_target/src/spec/crt_objects.rs +++ b/compiler/rustc_target/src/spec/crt_objects.rs -@@ -58,28 +61,6 @@ - (LinkOutputKind::StaticPicExe, &[obj]), - (LinkOutputKind::DynamicDylib, &[obj]), - (LinkOutputKind::StaticDylib, &[obj]), -- ]) --} -- +@@ -62,28 +62,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects { + ]) + } + -pub(super) fn pre_musl_self_contained() -> CrtObjects { - new(&[ - (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]), @@ -52,6 +43,23 @@ See https://github.com/rust-lang/rust/pull/40113 - (LinkOutputKind::StaticPicExe, &["crtendS.o", "crtn.o"]), - (LinkOutputKind::DynamicDylib, &["crtendS.o", "crtn.o"]), - (LinkOutputKind::StaticDylib, &["crtendS.o", "crtn.o"]), - ]) - } +- ]) +-} +- + pub(super) fn pre_mingw_self_contained() -> CrtObjects { + new(&[ + (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]), +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 8dcdc5b..25f53d6 100644 +--- 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 +@@ -14,8 +14,7 @@ pub(crate) fn target() -> Target { + | SanitizerSet::MEMORY + | SanitizerSet::THREAD; + base.supports_xray = true; +- // FIXME(compiler-team#422): musl targets should be dynamically linked by default. +- base.crt_static_default = true; ++ base.crt_static_default = false; + Target { + llvm_target: "x86_64-unknown-linux-musl".into(), |