summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/patchsets/gcc')
-rw-r--r--src/patchsets/gcc/6.4.0/gentoo/13_all_default-ssp-fix.patch55
-rw-r--r--src/patchsets/gcc/6.4.0/gentoo/README.history2
-rw-r--r--src/patchsets/gcc/7.3.0/gentoo/13_all_default-ssp-fix.patch64
-rw-r--r--src/patchsets/gcc/7.3.0/gentoo/55_all_extra-options.patch2
-rw-r--r--src/patchsets/gcc/7.3.0/gentoo/README.history3
5 files changed, 49 insertions, 77 deletions
diff --git a/src/patchsets/gcc/6.4.0/gentoo/13_all_default-ssp-fix.patch b/src/patchsets/gcc/6.4.0/gentoo/13_all_default-ssp-fix.patch
index 03624870f8..cbbd522af0 100644
--- a/src/patchsets/gcc/6.4.0/gentoo/13_all_default-ssp-fix.patch
+++ b/src/patchsets/gcc/6.4.0/gentoo/13_all_default-ssp-fix.patch
@@ -1,44 +1,27 @@
-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 2016-03-08 23:30:44.000000000 +0100
-+++ b/gcc/c-family/c-opts.c 2016-09-18 18:42:10.231644014 +0200
-@@ -436,7 +436,15 @@ c_common_handle_option (size_t scode, co
+--- 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;
-+ /* Fall through.... */
-+
- case OPT_fhosted:
- flag_hosted = value;
- flag_no_builtin = !value;
---- a/gcc/c-family/c.opt 2016-03-23 18:51:56.000000000 +0100
-+++ b/gcc/c-family/c.opt 2016-09-18 18:46:17.071649782 +0200
-@@ -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 2016-02-19 23:18:38.000000000 +0100
-+++ b/gcc/gcc.c 2016-09-18 18:47:35.621651618 +0200
-@@ -1132,6 +1143,7 @@ static const char *cc1_options =
+ #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}";
static const char *asm_options =
diff --git a/src/patchsets/gcc/6.4.0/gentoo/README.history b/src/patchsets/gcc/6.4.0/gentoo/README.history
index c5c023324b..1cd9ae7495 100644
--- a/src/patchsets/gcc/6.4.0/gentoo/README.history
+++ b/src/patchsets/gcc/6.4.0/gentoo/README.history
@@ -1,3 +1,5 @@
+1.4 03 Maj 2018
+ U 13_all_default-ssp-fix.patch
1.3 12 Jan 2018
+ 97_all_libjava-ucontext.patch
1.2 06 Jan 2018
diff --git a/src/patchsets/gcc/7.3.0/gentoo/13_all_default-ssp-fix.patch b/src/patchsets/gcc/7.3.0/gentoo/13_all_default-ssp-fix.patch
index d5672974c5..cbbd522af0 100644
--- a/src/patchsets/gcc/7.3.0/gentoo/13_all_default-ssp-fix.patch
+++ b/src/patchsets/gcc/7.3.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}\
- %{coverage:-fprofile-arcs -ftest-coverage}\
- %{fprofile-arcs|fprofile-generate*|coverage:\
- %{!fprofile-update=single:\
---- a/gcc/params.def
-+++ b/gcc/params.def
+- %{fsyntax-only:-o %j} %{-param*}\
++ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
+ %{coverage:-fprofile-arcs -ftest-coverage}";
+
+ static const char *asm_options =
+--- 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",
diff --git a/src/patchsets/gcc/7.3.0/gentoo/55_all_extra-options.patch b/src/patchsets/gcc/7.3.0/gentoo/55_all_extra-options.patch
index ff14c100ca..912fd02e0a 100644
--- a/src/patchsets/gcc/7.3.0/gentoo/55_all_extra-options.patch
+++ b/src/patchsets/gcc/7.3.0/gentoo/55_all_extra-options.patch
@@ -42,7 +42,7 @@ On Hardened we add or remove some options like -fstack-check,
#endif
#endif
-+#define STACK_CHECK_SPEC "%{fstack-check|fstack-check=*:;: -fstack-check} "
++#define STACK_CHECK_SPEC ""
+#ifdef EXTRA_OPTIONS
+#define LINK_NOW_SPEC "%{!nonow:-z now} "
+#else
diff --git a/src/patchsets/gcc/7.3.0/gentoo/README.history b/src/patchsets/gcc/7.3.0/gentoo/README.history
index 13be9e51f5..15e2a70ea2 100644
--- a/src/patchsets/gcc/7.3.0/gentoo/README.history
+++ b/src/patchsets/gcc/7.3.0/gentoo/README.history
@@ -1,3 +1,6 @@
+1.3 03 Maj 2018
+ U 13_all_default-ssp-fix.patch
+ U 55_all_extra-options.patch
1.2 14 Apr 2018
+ 92_all_sh-drop-sysroot-suffix.patch
1.1 11 Feb 2018