From a0b00c306d702d72c7c954fbb4816b12f2dcd007 Mon Sep 17 00:00:00 2001 From: Magnus Granberg Date: Sun, 6 Mar 2011 01:12:37 +0100 Subject: updated the gcc 4.6 patchset to 0.4.7 --- gcc-4.6.0/piepatch/22_all_gcc46-default-ssp.patch | 145 +++++++++++++++++++++ .../33_all_gcc46_config_rs6000_linux64.h.patch | 4 +- .../piepatch/35_all_gcc46_config_crtbegints.patch | 12 +- gcc-4.6.0/piepatch/README.Changelog | 10 ++ gcc-4.6.0/piepatch/README.history | 7 + 5 files changed, 170 insertions(+), 8 deletions(-) create mode 100644 gcc-4.6.0/piepatch/22_all_gcc46-default-ssp.patch diff --git a/gcc-4.6.0/piepatch/22_all_gcc46-default-ssp.patch b/gcc-4.6.0/piepatch/22_all_gcc46-default-ssp.patch new file mode 100644 index 0000000..66e80af --- /dev/null +++ b/gcc-4.6.0/piepatch/22_all_gcc46-default-ssp.patch @@ -0,0 +1,145 @@ +2011-03-05 Matthias Klose , Kees Cook , + Magnus Granberg + + * gcc/objc/lang-specs.h compiler spec Add %(esp_options) + * gcc/objcp/lang-specs.h compiler spec Add %(esp_options) + * gcc/gcc.c *cpp_options Add %(esp_cpp_options) + * gcc/gcc.c default_compilers[] Add %(esp_options) + * gcc/cp/lang-specs.h compiler spec Add %(esp_options) + +--- a/src/gcc/objc/lang-specs.h.orig 2009-12-21 ++++ b/src/gcc/objc/lang-specs.h 2009-12-21 +@@ -30,9 +30,9 @@ + %{traditional|traditional-cpp:\ + %eGNU Objective C no longer supports traditional compilation}\ + %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\ +- cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\ ++ cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}}\ + %{!save-temps:%{!no-integrated-cpp:\ +- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\ ++ cc1obj %(cpp_unique_options) %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}}}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {"@objective-c-header", + "%{E|M|MM:cc1obj -E %{traditional|traditional-cpp:-traditional-cpp}\ +@@ -41,18 +41,18 @@ + %{traditional|traditional-cpp:\ + %eGNU Objective C no longer supports traditional compilation}\ + %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\ +- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ cc1obj -fpreprocessed %b.mi %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ + -o %g.s %{!o*:--output-pch=%i.gch}\ + %W{o*:--output-pch=%*}%V}\ + %{!save-temps:%{!no-integrated-cpp:\ +- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ cc1obj %(cpp_unique_options) %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ + -o %g.s %{!o*:--output-pch=%i.gch}\ + %W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0}, + {".mi", "@objective-c-cpp-output", 0, 0, 0}, + {"@objective-c-cpp-output", +- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {"@objc-cpp-output", + "%nobjc-cpp-output is deprecated; please use objective-c-cpp-output instead\n\ +- %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ ++ %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- a/src/gcc/objcp/lang-specs.h.orig 2009-03-24 ++++ b/src/gcc/objcp/lang-specs.h 2009-12-21 +@@ -36,7 +36,7 @@ + %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ + cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2\ ++ %(cc1_options) %(esp_options) %2\ + -o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {"@objective-c++", +@@ -46,16 +46,16 @@ + %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ + cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2\ ++ %(cc1_options) %(esp_options) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {".mii", "@objective-c++-cpp-output", 0, 0, 0}, + {"@objective-c++-cpp-output", + "%{!M:%{!MM:%{!E:\ +- cc1objplus -fpreprocessed %i %(cc1_options) %2\ ++ cc1objplus -fpreprocessed %i %(cc1_options) %(esp_options) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {"@objc++-cpp-output", + "%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output instead\n\ + %{!M:%{!MM:%{!E:\ +- cc1objplus -fpreprocessed %i %(cc1_options) %2\ ++ cc1objplus -fpreprocessed %i %(cc1_options) %(esp_options) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- a/src/gcc/gcc.c.orig 2009-12-21 ++++ b/src/gcc/gcc.c 2009-12-21 +@@ -740,7 +749,7 @@ + static const char *cpp_options = + "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ + %{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*}\ +- %{undef} %{save-temps*:-fpch-preprocess}"; ++ %{undef} %{save-temps*:-fpch-preprocess} %(esp_cpp_options)"; + + /* This contains cpp options which are not passed when the preprocessor + output will be used by another program. */ +@@ -914,9 +923,9 @@ + %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ + %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\ + cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \ +- %(cc1_options)}\ ++ %(cc1_options) %(esp_options)}\ + %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ +- cc1 %(cpp_unique_options) %(cc1_options)}}}\ ++ cc1 %(cpp_unique_options) %(cc1_options) %(esp_options)}}}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1}, + {"-", + "%{!E:%e-E or -x required when input is from standard input}\ +@@ -953,7 +953,7 @@ + %W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0}, + {".i", "@cpp-output", 0, 0, 0}, + {"@cpp-output", +- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, ++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(esp_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {".s", "@assembler", 0, 0, 0}, + {"@assembler", + "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, +--- a/src/gcc/cp/lang-specs.h.orig 2009-03-24 ++++ b/src/gcc/cp/lang-specs.h 2009-12-21 +@@ -47,7 +47,7 @@ + %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ + cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2\ ++ %(cc1_options) %(esp_options) %2\ + %{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\ + %W{o*:--output-pch=%*}}%V}}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, +@@ -58,11 +58,11 @@ + %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ + cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ + %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ +- %(cc1_options) %2\ ++ %(cc1_options) %(esp_options) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", + CPLUSPLUS_CPP_SPEC, 0, 0}, + {".ii", "@c++-cpp-output", 0, 0, 0}, + {"@c++-cpp-output", + "%{!M:%{!MM:%{!E:\ +- cc1plus -fpreprocessed %i %(cc1_options) %2\ ++ cc1plus -fpreprocessed %i %(cc1_options) %(esp_options) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- a/src/gcc/params.def.orig 2010-09-09 11:00:26.579149661 -0700 ++++ b/src/gcc/params.def 2010-09-09 11:00:37.968871185 -0700 +@@ -651,7 +651,7 @@ + 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) + + /* When we thread through a block we have to make copies of the + statements within the block. Clearly for large blocks the code diff --git a/gcc-4.6.0/piepatch/33_all_gcc46_config_rs6000_linux64.h.patch b/gcc-4.6.0/piepatch/33_all_gcc46_config_rs6000_linux64.h.patch index adc19d9..bfd7b75 100644 --- a/gcc-4.6.0/piepatch/33_all_gcc46_config_rs6000_linux64.h.patch +++ b/gcc-4.6.0/piepatch/33_all_gcc46_config_rs6000_linux64.h.patch @@ -1,4 +1,4 @@ -2011-01-01 Peter S. Mazinger , Magnus Granberg +2011-03-05 Peter S. Mazinger , Magnus Granberg * gcc/config/rs6000/linux64.h ASM_SPEC32 Change %{fpic:-K PIC} %{fPIC:-K PIC} to %{fpic|fPIC|fpie|fPIE:-K PIC} @@ -8,7 +8,7 @@ @@ -162,7 +162,7 @@ #endif - #define ASM_SPEC32 "-a32 %{Ym,*} %{Yd,*} \ + #define ASM_SPEC32 "-a32 \ -%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \ +%{mrelocatable} %{mrelocatable-lib} %{fpic|fPIC|fpie|fPIE:-K PIC} \ %{memb} %{!memb: %{msdata=eabi: -memb}} \ diff --git a/gcc-4.6.0/piepatch/35_all_gcc46_config_crtbegints.patch b/gcc-4.6.0/piepatch/35_all_gcc46_config_crtbegints.patch index 36874b3..7392252 100644 --- a/gcc-4.6.0/piepatch/35_all_gcc46_config_crtbegints.patch +++ b/gcc-4.6.0/piepatch/35_all_gcc46_config_crtbegints.patch @@ -1,21 +1,21 @@ -2011-01-01 Magnus Granberg +2011-03-05 Magnus Granberg - * gcc/config/linux.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. + * gcc/config/gnu-user.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. * gcc/config/rs6000/sysv4.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. ---- gcc/config/linux.h 2009-04-10 01:23:07.000000000 +0200 -+++ gcc/config/linux.h 2009-09-08 04:08:06.000000000 +0200 +--- gcc/config/gnu-user.h 2009-04-10 01:23:07.000000000 +0200 ++++ gcc/config/gnu-user.h 2009-09-08 04:08:06.000000000 +0200 @@ -39,7 +39,11 @@ provides part of the support for getting C++ file-scope static object constructed before entering `main'. */ -#if defined HAVE_LD_PIE +#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINTS) -+#define LINUX_TARGET_STARTFILE_SPEC \ ++#define GNU_USER_TARGET_STARTFILE_SPEC \ + "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s \ + %{static:%{pie:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" +#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS) - #define LINUX_TARGET_STARTFILE_SPEC \ + #define GNU_USER_TARGET_STARTFILE_SPEC \ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" --- gcc/config/rs6000/sysv4.h 2009-04-10 01:23:07.000000000 +0200 diff --git a/gcc-4.6.0/piepatch/README.Changelog b/gcc-4.6.0/piepatch/README.Changelog index e7419f2..ea0c332 100644 --- a/gcc-4.6.0/piepatch/README.Changelog +++ b/gcc-4.6.0/piepatch/README.Changelog @@ -1,3 +1,13 @@ +0.4.7 Magnus Granberg + + * gcc/gcc.c Add %(esp_options) and %(esp_cpp_options) + * gcc/esp.h Use the esp.h patch from gcc-4.4 patchset + * gcc/config/rs6000/linux64.h Bumed for >2011-02-26 snapshot + * gcc/objc/lang-specs.h Add %(esp_options) + * gcc/objcp/lang-specs.h Add %(esp_options) + * gcc/cp/lang-specs.h Add %(esp_options) + * gcc/config/gnu-user.h Add crtbeginTS.o support + 0.4.6 Magnus Granberg * Makefile.in Bumped for gcc 4.6 diff --git a/gcc-4.6.0/piepatch/README.history b/gcc-4.6.0/piepatch/README.history index e0f3a8e..8630f82 100644 --- a/gcc-4.6.0/piepatch/README.history +++ b/gcc-4.6.0/piepatch/README.history @@ -1,3 +1,10 @@ +0.4.7 05-03-2011 + U 20_all_gcc46_gcc.c.patch + + 22_all_gcc46-default-ssp.patch + - 30_all_gcc46_esp.h.patch + + 30_all_gcc44_esp.h.patch + U 33_all_gcc46_config_rs6000_linux64.h.patch + U 35_all_gcc44_config_crtbegints.patch 0.4.6 07-01-2011 + 12_all_gcc46_Makefile.in.patch - 12_all_gcc44_Makefile.in.patch -- cgit v1.2.3-65-gdbad