patches/gcc/4.4.5/150-default-fortify-source.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Feb 17 21:54:07 2011 +0100 (2011-02-17)
changeset 2301 a3818c3b03e0
permissions -rw-r--r--
internals: fix stripping host binaries

The gcc used by linaro has a version number specific to Linaro, but
identifies itself with its upstream version numbering scheme.

This breaks the strip in the finish step, because the actual gcc version
is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 diff -durN gcc-4.4.5.orig/gcc/doc/invoke.texi gcc-4.4.5/gcc/doc/invoke.texi
     2 --- gcc-4.4.5.orig/gcc/doc/invoke.texi	2010-10-09 22:59:03.000000000 +0200
     3 +++ gcc-4.4.5/gcc/doc/invoke.texi	2010-10-09 22:59:33.000000000 +0200
     4 @@ -5432,6 +5432,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.5.orig/gcc/gcc.c gcc-4.4.5/gcc/gcc.c
    17 --- gcc-4.4.5.orig/gcc/gcc.c	2010-01-09 01:05:06.000000000 +0100
    18 +++ gcc-4.4.5/gcc/gcc.c	2010-10-09 22:59:33.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