aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Granberg <zorry@gentoo.org>2011-03-06 01:12:37 +0100
committerMagnus Granberg <zorry@gentoo.org>2011-03-06 01:12:37 +0100
commita0b00c306d702d72c7c954fbb4816b12f2dcd007 (patch)
treedd24c1ffac356016436b92714d8223596b21eeed
parentcommited piepatchset 0.4.6 for gcc-4.6 (diff)
downloadhardened-gccpatchset-a0b00c306d702d72c7c954fbb4816b12f2dcd007.tar.gz
hardened-gccpatchset-a0b00c306d702d72c7c954fbb4816b12f2dcd007.tar.bz2
hardened-gccpatchset-a0b00c306d702d72c7c954fbb4816b12f2dcd007.zip
updated the gcc 4.6 patchset to 0.4.7
-rw-r--r--gcc-4.6.0/piepatch/22_all_gcc46-default-ssp.patch145
-rw-r--r--gcc-4.6.0/piepatch/33_all_gcc46_config_rs6000_linux64.h.patch4
-rw-r--r--gcc-4.6.0/piepatch/35_all_gcc46_config_crtbegints.patch12
-rw-r--r--gcc-4.6.0/piepatch/README.Changelog10
-rw-r--r--gcc-4.6.0/piepatch/README.history7
5 files changed, 170 insertions, 8 deletions
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 <doko@ubuntu.com>, Kees Cook <kees@outflux.net>,
+ Magnus Granberg <zorry@gentoo.org>
+
+ * 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 <ps.m@gmx.net>, Magnus Granberg <zorry@gentoo.org>
+2011-03-05 Peter S. Mazinger <ps.m@gmx.net>, Magnus Granberg <zorry@gentoo.org>
* 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 <zorry@gentoo.org>
+2011-03-05 Magnus Granberg <zorry@gentoo.org>
- * 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 <zorry@gentoo.org>
+
+ * 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 <zorry@gentoo.org>
* 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