patches/gcc/4.4.4/150-default-fortify-source.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 17:56:22 2011 +0200 (2011-07-17)
changeset 2889 f3b2199620f1
parent 1948 d341be24dc68
permissions -rw-r--r--
cc/gcc: pass the install prefix to the core passes

Currently, the discrimination on the core compilers prefixes depends on
the type of core compiler to build.

This is not correct, and the caller of the core backend should specify
the prefix.

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