summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/patchsets/gcc/8.1.0/gentoo/13_all_default-ssp-fix.patch')
-rw-r--r--src/patchsets/gcc/8.1.0/gentoo/13_all_default-ssp-fix.patch60
1 files changed, 22 insertions, 38 deletions
diff --git a/src/patchsets/gcc/8.1.0/gentoo/13_all_default-ssp-fix.patch b/src/patchsets/gcc/8.1.0/gentoo/13_all_default-ssp-fix.patch
index d5672974c5..d2deac760b 100644
--- a/src/patchsets/gcc/8.1.0/gentoo/13_all_default-ssp-fix.patch
+++ b/src/patchsets/gcc/8.1.0/gentoo/13_all_default-ssp-fix.patch
@@ -1,48 +1,32 @@
-We disable ssp on -nostdlib and -ffreestanding as we did on older gcc
-and change the buffer size.
+Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
+Change the buffer size.
---- a/gcc/c-family/c-opts.c
-+++ b/gcc/c-family/c-opts.c
-@@ -450,7 +450,14 @@
+--- 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
- case OPT_ffreestanding:
- value = !value;
-+ if (global_options.x_flag_stack_protect == -1)
-+ global_options.x_flag_stack_protect = 0;
- /* Fall through. */
++#ifdef ENABLE_DEFAULT_SSP
++#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
++#else
++#define NO_SSP_SPEC ""
++#endif
+
-+ case OPT_nostdlib:
-+ if (global_options.x_flag_stack_protect == -1)
-+ global_options.x_flag_stack_protect = 0;
-+
- case OPT_fhosted:
- flag_hosted = value;
- flag_no_builtin = !value;
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -1647,6 +1647,10 @@ nostdinc++
- C++ ObjC++
- Do not search standard system include directories for C++.
-
-+nostdlib
-+C ObjC C++ ObjC++
-+; Documented in common.opt
-+
- o
- C ObjC C++ ObjC++ Joined Separate
- ; Documented in common.opt
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1145,6 +1145,7 @@
+ #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*}\
-+ %{nostdlib:-nostdlib}\
+- %{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=single:\
---- a/gcc/params.def
-+++ b/gcc/params.def
+ %{!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",