patches/gcc/4.4.0/150-default-fortify-source.patch
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

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