patches/gcc/4.4.6/150-default-fortify-source.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 18 23:00:46 2011 +0200 (2011-05-18)
changeset 2467 200836977ce6
parent 2149 98b7806295cc
permissions -rw-r--r--
config: rename variables that are arrays

Make it explicit that a variable is an array bu the name of the variable.
It will be used later when .config gets munged to allow both multiple
arguments and arguments with spaces at the same time to be passed from the
configuration down to the build scripts.

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