aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/7.2.0/230-musl_libssp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc/patches/7.2.0/230-musl_libssp.patch')
-rw-r--r--toolchain/gcc/patches/7.2.0/230-musl_libssp.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/7.2.0/230-musl_libssp.patch b/toolchain/gcc/patches/7.2.0/230-musl_libssp.patch
new file mode 100644
index 0000000000..eebee9175c
--- /dev/null
+++ b/toolchain/gcc/patches/7.2.0/230-musl_libssp.patch
@@ -0,0 +1,28 @@
+commit 1877bc9d8f2be143fbe530347a945850d0ecd234
+Author: Steven Barth <cyrus@openwrt.org>
+Date: Mon Jun 22 10:31:07 2015 +0000
+
+ gcc/musl: rework SSP-support
+
+ Make musl provide libssp_nonshared.a and make GCC link it unconditionally
+ if musl is used. This should be a no-op if SSP is disabled and seems to be
+ the only reliable way of dealing with SSP over all packages due to the mess
+ that is linkerflags handling in packages.
+
+ Signed-off-by: Steven Barth <steven@midlink.org>
+
+ SVN-Revision: 46108
+
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -861,7 +861,9 @@ proper position among the other output f
+ #endif
+
+ #ifndef LINK_SSP_SPEC
+-#ifdef TARGET_LIBC_PROVIDES_SSP
++#if DEFAULT_LIBC == LIBC_MUSL
++#define LINK_SSP_SPEC "-lssp_nonshared"
++#elif defined(TARGET_LIBC_PROVIDES_SSP)
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+ "|fstack-protector-strong|fstack-protector-explicit:}"
+ #else