patches/gcc/4.4.5/140-default-format-security.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Dec 23 20:43:32 2010 +0100 (2010-12-23)
changeset 2307 2efd46963086
permissions -rw-r--r--
buildtools: move to working directory

There is absolutely *no* reason for the buildtools (wrappers to gcc, g++,
as, ld... for the local machine) to be in the toolchain directory. Moreover,
they are removed after the build completes.

Move them out of the toolchain directory, and into the build directory (but
yet the part specific to the current toolchain). This means we no longer
need to explicitly remove them either, BTW, but we need to save/restore them
for the restart feature.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 diff -durN gcc-4.4.5.orig/gcc/c-common.c gcc-4.4.5/gcc/c-common.c
     2 --- gcc-4.4.5.orig/gcc/c-common.c	2010-07-27 15:07:28.000000000 +0200
     3 +++ gcc-4.4.5/gcc/c-common.c	2010-10-09 22:59:03.000000000 +0200
     4 @@ -301,7 +301,7 @@
     5  /* Warn about format/argument anomalies in calls to formatted I/O functions
     6     (*printf, *scanf, strftime, strfmon, etc.).  */
     7  
     8 -int warn_format;
     9 +int warn_format = 1;
    10  
    11  /* Warn about using __null (as NULL in C++) as sentinel.  For code compiled
    12     with GCC this doesn't matter as __null is guaranteed to have the right
    13 diff -durN gcc-4.4.5.orig/gcc/c.opt gcc-4.4.5/gcc/c.opt
    14 --- gcc-4.4.5.orig/gcc/c.opt	2009-09-18 23:53:23.000000000 +0200
    15 +++ gcc-4.4.5/gcc/c.opt	2010-10-09 22:59:03.000000000 +0200
    16 @@ -236,7 +236,7 @@
    17  Warn about format strings that contain NUL bytes
    18  
    19  Wformat-security
    20 -C ObjC C++ ObjC++ Var(warn_format_security) Warning
    21 +C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning
    22  Warn about possible security problems with format functions
    23  
    24  Wformat-y2k
    25 diff -durN gcc-4.4.5.orig/gcc/doc/invoke.texi gcc-4.4.5/gcc/doc/invoke.texi
    26 --- gcc-4.4.5.orig/gcc/doc/invoke.texi	2010-09-08 20:13:03.000000000 +0200
    27 +++ gcc-4.4.5/gcc/doc/invoke.texi	2010-10-09 22:59:03.000000000 +0200
    28 @@ -2888,6 +2888,9 @@
    29  @option{-Wformat-nonliteral}, @option{-Wformat-security}, and
    30  @option{-Wformat=2} are available, but are not included in @option{-Wall}.
    31  
    32 +NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
    33 +To disable, use @option{-Wformat=0}.
    34 +
    35  @item -Wformat-y2k
    36  @opindex Wformat-y2k
    37  @opindex Wno-format-y2k
    38 @@ -2941,6 +2944,11 @@
    39  in future warnings may be added to @option{-Wformat-security} that are not
    40  included in @option{-Wformat-nonliteral}.)
    41  
    42 +NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
    43 +To disable, use @option{-Wno-format-security}, or disable all format warnings
    44 +with @option{-Wformat=0}.  To make format security warnings fatal, specify
    45 +@option{-Werror=format-security}.
    46 +
    47  @item -Wformat=2
    48  @opindex Wformat=2
    49  @opindex Wno-format=2