patches/gcc/4.4.5/150-default-fortify-source.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Dec 23 20:43:32 2010 +0100 (2010-12-23)
changeset 2307 2efd46963086
permissions -rw-r--r--
buildtools: move to working directory

There is absolutely *no* reason for the buildtools (wrappers to gcc, g++,
as, ld... for the local machine) to be in the toolchain directory. Moreover,
they are removed after the build completes.

Move them out of the toolchain directory, and into the build directory (but
yet the part specific to the current toolchain). This means we no longer
need to explicitly remove them either, BTW, but we need to save/restore them
for the restart feature.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@2149
     1
diff -durN gcc-4.4.5.orig/gcc/doc/invoke.texi gcc-4.4.5/gcc/doc/invoke.texi
yann@2149
     2
--- gcc-4.4.5.orig/gcc/doc/invoke.texi	2010-10-09 22:59:03.000000000 +0200
yann@2149
     3
+++ gcc-4.4.5/gcc/doc/invoke.texi	2010-10-09 22:59:33.000000000 +0200
yann@2149
     4
@@ -5432,6 +5432,11 @@
yann@2149
     5
 Please note the warning under @option{-fgcse} about
yann@2149
     6
 invoking @option{-O2} on programs that use computed gotos.
yann@2149
     7
 
yann@2149
     8
+NOTE: In Gentoo, @option{-D_FORTIFY_SOURCE=2} is set by default, and is
yann@2149
     9
+activated when @option{-O} is set to 2 or higher.  This enables additional
yann@2149
    10
+compile-time and run-time checks for several libc functions.  To disable,
yann@2149
    11
+specify either @option{-U_FORTIFY_SOURCE} or @option{-D_FORTIFY_SOURCE=0}.
yann@2149
    12
+
yann@2149
    13
 @item -O3
yann@2149
    14
 @opindex O3
yann@2149
    15
 Optimize yet more.  @option{-O3} turns on all optimizations specified
yann@2149
    16
diff -durN gcc-4.4.5.orig/gcc/gcc.c gcc-4.4.5/gcc/gcc.c
yann@2149
    17
--- gcc-4.4.5.orig/gcc/gcc.c	2010-01-09 01:05:06.000000000 +0100
yann@2149
    18
+++ gcc-4.4.5/gcc/gcc.c	2010-10-09 22:59:33.000000000 +0200
yann@2149
    19
@@ -807,6 +807,7 @@
yann@2149
    20
  %{H} %C %{D*&U*&A*} %{i*} %Z %i\
yann@2149
    21
  %{fmudflap:-D_MUDFLAP -include mf-runtime.h}\
yann@2149
    22
  %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\
yann@2149
    23
+ %{!D_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE=*:%{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=2}}}\
yann@2149
    24
  %{E|M|MM:%W{o*}}";
yann@2149
    25
 
yann@2149
    26
 /* This contains cpp options which are common with cc1_options and are passed