aboutsummaryrefslogtreecommitdiff
path: root/repos/extra/rust/fix-linux_musl_base.patch
diff options
context:
space:
mode:
Diffstat (limited to 'repos/extra/rust/fix-linux_musl_base.patch')
-rw-r--r--repos/extra/rust/fix-linux_musl_base.patch48
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(),