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