pmaports/cross/gcc-aarch64/013_all_default-ssp-fix.patch
Oliver Smith 56f1e0c10f
cross/gcc-*: upgrade to gcc 8.2.0 [skip ci]
Skipping CI, because it would probably not finish building all of them.
Major breakage incoming. Details discussed here:
<https://gitlab.com/postmarketOS/pmaports/issues/103>
2018-11-27 07:47:11 +01:00

38 lines
1.3 KiB
Diff

Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
Change the buffer size.
--- 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:\
--- a/gcc/params.def 2016-03-30 09:47:40.000000000 +0200
+++ b/gcc/params.def 2016-09-19 12:56:58.443179039 +0200
@@ -673,7 +673,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,
DEFPARAM (PARAM_SSP_BUFFER_SIZE,
"ssp-buffer-size",
"The lower bound for a buffer to be considered for stack smashing protection.",
- 8, 1, 0)
+ 4, 1, 0)
DEFPARAM (PARAM_MIN_SIZE_FOR_STACK_SHARING,
"min-size-for-stack-sharing",