diff options
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.patch | 60 |
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", |