summaryrefslogtreecommitdiff
path: root/system/gcc/gcc-6.1-musl-libssp.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2018-02-20 21:53:51 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2018-02-20 21:54:20 -0600
commit6d7203982c05651f748825deb393eb6480c03e32 (patch)
treef771531d5103dede68a6c9f52b349d8ba04cbb09 /system/gcc/gcc-6.1-musl-libssp.patch
parent866f81aaa5e438537e6a4b30c1f0fcecc713a1a2 (diff)
downloadpackages-6d7203982c05651f748825deb393eb6480c03e32.tar.gz
packages-6d7203982c05651f748825deb393eb6480c03e32.tar.bz2
packages-6d7203982c05651f748825deb393eb6480c03e32.tar.xz
packages-6d7203982c05651f748825deb393eb6480c03e32.zip
system/gcc: maintain our own toolchain
Diffstat (limited to 'system/gcc/gcc-6.1-musl-libssp.patch')
-rw-r--r--system/gcc/gcc-6.1-musl-libssp.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/system/gcc/gcc-6.1-musl-libssp.patch b/system/gcc/gcc-6.1-musl-libssp.patch
new file mode 100644
index 000000000..fe5c61434
--- /dev/null
+++ b/system/gcc/gcc-6.1-musl-libssp.patch
@@ -0,0 +1,20 @@
+Author: Timo Teräs <timo.teras@iki.fi>
+
+Alpine musl package provides libssp_nonshared.a. We link to it unconditionally,
+as otherwise we get link failures if some objects are -fstack-protector built
+and final link happens with -fno-stack-protector. This seems to be the common
+case when bootstrapping gcc, the piepatches do not seem to fully fix the
+crosstoolchain and bootstrap sequence wrt. stack-protector flag usage.
+
+--- gcc-6.1.0/gcc/gcc.c.orig
++++ gcc-6.1.0/gcc/gcc.c
+@@ -870,8 +870,7 @@
+
+ #ifndef LINK_SSP_SPEC
+ #ifdef TARGET_LIBC_PROVIDES_SSP
+-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+- "|fstack-protector-strong|fstack-protector-explicit:}"
++#define LINK_SSP_SPEC "-lssp_nonshared"
+ #else
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+ "|fstack-protector-strong|fstack-protector-explicit" \