summaryrefslogtreecommitdiff
path: root/user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-08-04 01:47:47 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2024-08-09 15:21:38 -0500
commitddea10d9c5217bb01c06ce8d28e58dc73bf3a901 (patch)
tree1a1ebbe3fbf10980584de9212de32d8412ddb8d2 /user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch
parent79a51285be9c224976f6bccfb4096407a19a5dac (diff)
downloadpackages-ddea10d9c5217bb01c06ce8d28e58dc73bf3a901.tar.gz
packages-ddea10d9c5217bb01c06ce8d28e58dc73bf3a901.tar.bz2
packages-ddea10d9c5217bb01c06ce8d28e58dc73bf3a901.tar.xz
packages-ddea10d9c5217bb01c06ce8d28e58dc73bf3a901.zip
user/rust: Add version 1.80.0
Fully tested and working on PPC64. Other arches pending.
Diffstat (limited to 'user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch')
-rw-r--r--user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch b/user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch
new file mode 100644
index 000000000..d34bb560d
--- /dev/null
+++ b/user/rust/0006-Link-libssp_nonshared.a-on-all-musl-targets.patch
@@ -0,0 +1,28 @@
+From f516ef748075ddfbcbaec493e1a7ee1e59538bd0 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 3 Nov 2019 17:01:32 -0600
+Subject: [PATCH 06/12] Link libssp_nonshared.a on all musl targets
+
+---
+ compiler/rustc_target/src/spec/base/linux_musl.rs | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs
+index 36d64059d59ad..c113af2464423 100644
+--- a/compiler/rustc_target/src/spec/base/linux_musl.rs
++++ b/compiler/rustc_target/src/spec/base/linux_musl.rs
+@@ -1,10 +1,13 @@
+-use crate::spec::{base, TargetOptions};
++use crate::spec::{add_link_args, base, Cc, LinkerFlavor, Lld, TargetOptions};
+
+ pub fn opts() -> TargetOptions {
+ let mut base = base::linux::opts();
+
+ base.env = "musl".into();
+
++ // libssp_nonshared.a is needed for __stack_chk_fail_local when using libc.so
++ add_link_args(&mut base.post_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-lssp_nonshared"]);
++
+ // These targets statically link libc by default
+ base.crt_static_default = true;
+