diff options
Diffstat (limited to '10.3.0/gentoo/04_all_nossp-on-nostdlib.patch')
-rw-r--r-- | 10.3.0/gentoo/04_all_nossp-on-nostdlib.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/10.3.0/gentoo/04_all_nossp-on-nostdlib.patch b/10.3.0/gentoo/04_all_nossp-on-nostdlib.patch new file mode 100644 index 0000000..648d712 --- /dev/null +++ b/10.3.0/gentoo/04_all_nossp-on-nostdlib.patch @@ -0,0 +1,27 @@ +Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding + +https://bugs.gentoo.org/484714 +--- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200 ++++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100 +@@ -857,6 +857,12 @@ proper position among the other output f + #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" + #endif + ++#ifdef ENABLE_DEFAULT_SSP ++#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} " ++#else ++#define NO_SSP_SPEC "" ++#endif ++ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +@@ -1131,7 +1148,7 @@ static const char *cc1_options = + %{-version:--version}\ + %{-help=*:--help=%*}\ + %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ +- %{fsyntax-only:-o %j} %{-param*}\ ++ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ + %{coverage:-fprofile-arcs -ftest-coverage}\ + %{fprofile-arcs|fprofile-generate*|coverage:\ + %{!fprofile-update=singel:\ |