patches/gcc/4.4.0/140-default-format-security.patch
author Cody Schafer <dev@codyps.com>
Fri May 09 19:13:49 2014 -0700 (2014-05-09)
changeset 3312 4876ff97e039
permissions -rw-r--r--
cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetal

The final bare-metal compiler is built using the core backend.
Currently the core uses the CC_CORE_EXTRA_CONFIG_ARRAY variable.

While this works as supposed to, this can leave the user puzzled
in the menuconfig, since all he can see is the core options, not
the final options.

Only show the core options if any of the core passes are needed,
and use the final options in the core-backend if we're issuing
the bare-metal compiler.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: hide core options if no core pass needed;
use final option in core backend if issuing the bare-metal compiler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <22181e546ba746202489.1399688067@localhost>
Patchwork-Id: 347586
yann@1393
     1
diff -durN gcc-4.4.0.orig/gcc/c-common.c gcc-4.4.0/gcc/c-common.c
yann@1393
     2
--- gcc-4.4.0.orig/gcc/c-common.c	2009-03-30 19:42:27.000000000 +0200
yann@1393
     3
+++ gcc-4.4.0/gcc/c-common.c	2009-05-27 21:38:08.000000000 +0200
yann@1393
     4
@@ -301,7 +301,7 @@
yann@1393
     5
 /* Warn about format/argument anomalies in calls to formatted I/O functions
yann@1393
     6
    (*printf, *scanf, strftime, strfmon, etc.).  */
yann@1393
     7
 
yann@1393
     8
-int warn_format;
yann@1393
     9
+int warn_format = 1;
yann@1393
    10
 
yann@1393
    11
 /* Warn about using __null (as NULL in C++) as sentinel.  For code compiled
yann@1393
    12
    with GCC this doesn't matter as __null is guaranteed to have the right
yann@1393
    13
diff -durN gcc-4.4.0.orig/gcc/c.opt gcc-4.4.0/gcc/c.opt
yann@1393
    14
--- gcc-4.4.0.orig/gcc/c.opt	2009-03-18 22:14:53.000000000 +0100
yann@1393
    15
+++ gcc-4.4.0/gcc/c.opt	2009-05-27 21:38:08.000000000 +0200
yann@1393
    16
@@ -236,7 +236,7 @@
yann@1393
    17
 Warn about format strings that contain NUL bytes
yann@1393
    18
 
yann@1393
    19
 Wformat-security
yann@1393
    20
-C ObjC C++ ObjC++ Var(warn_format_security) Warning
yann@1393
    21
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning
yann@1393
    22
 Warn about possible security problems with format functions
yann@1393
    23
 
yann@1393
    24
 Wformat-y2k
yann@1393
    25
diff -durN gcc-4.4.0.orig/gcc/doc/invoke.texi gcc-4.4.0/gcc/doc/invoke.texi
yann@1393
    26
--- gcc-4.4.0.orig/gcc/doc/invoke.texi	2009-04-01 09:18:47.000000000 +0200
yann@1393
    27
+++ gcc-4.4.0/gcc/doc/invoke.texi	2009-05-27 21:38:08.000000000 +0200
yann@1393
    28
@@ -2867,6 +2867,9 @@
yann@1393
    29
 @option{-Wformat-nonliteral}, @option{-Wformat-security}, and
yann@1393
    30
 @option{-Wformat=2} are available, but are not included in @option{-Wall}.
yann@1393
    31
 
yann@1393
    32
+NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
yann@1393
    33
+To disable, use @option{-Wformat=0}.
yann@1393
    34
+
yann@1393
    35
 @item -Wformat-y2k
yann@1393
    36
 @opindex Wformat-y2k
yann@1393
    37
 @opindex Wno-format-y2k
yann@1393
    38
@@ -2920,6 +2923,11 @@
yann@1393
    39
 in future warnings may be added to @option{-Wformat-security} that are not
yann@1393
    40
 included in @option{-Wformat-nonliteral}.)
yann@1393
    41
 
yann@1393
    42
+NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
yann@1393
    43
+To disable, use @option{-Wno-format-security}, or disable all format warnings
yann@1393
    44
+with @option{-Wformat=0}.  To make format security warnings fatal, specify
yann@1393
    45
+@option{-Werror=format-security}.
yann@1393
    46
+
yann@1393
    47
 @item -Wformat=2
yann@1393
    48
 @opindex Wformat=2
yann@1393
    49
 @opindex Wno-format=2