[Bug 1317305] Re: -Wno-format is not honored

Steve Beattie sbeattie at ubuntu.com
Tue May 13 16:42:28 UTC 2014


Here is an updated version of the gcc-default-format-security.diff patch
that enables -Wformat=1 and -Wformat-security by default, but honors
users' -Wformat arguments to override the default.

This fixes the following gcc testcase failures:

-FAIL: gcc.dg/format/nonlit-2.c  -Wformat=0  non-literal (test for warnings, line 11)
-FAIL: gcc.dg/format/nonlit-2.c  -Wformat=0  non-literal (test for warnings, line 12)
-FAIL: gcc.dg/format/nonlit-2.c  -DWIDE -Wformat=0  non-literal (test for warnings, line 11)
-FAIL: gcc.dg/format/nonlit-2.c  -DWIDE -Wformat=0  non-literal (test for warnings, line 12)
-FAIL: gcc.dg/format/opt-1.c  -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-1.c  -DWIDE -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-2.c  -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-2.c  -DWIDE -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-3.c  -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-3.c  -DWIDE -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-4.c  -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-4.c  -DWIDE -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-5.c  -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-5.c  -DWIDE -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-6.c  -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/opt-6.c  -DWIDE -Wformat=0  ignored (test for warnings, line )
-FAIL: gcc.dg/format/plus-1.c  -Wformat=0  non-constant addend (test for warnings, line 16)
-FAIL: gcc.dg/format/plus-1.c  -Wformat=0  minus constant (test for warnings, line 18)
-FAIL: gcc.dg/format/plus-1.c  -Wformat=0  negative addend (test for warnings, line 19)
-FAIL: gcc.dg/format/plus-1.c  -DWIDE -Wformat=0  non-constant addend (test for warnings, line 16)
-FAIL: gcc.dg/format/plus-1.c  -DWIDE -Wformat=0  minus constant (test for warnings, line 18)
-FAIL: gcc.dg/format/plus-1.c  -DWIDE -Wformat=0  negative addend (test for warnings, line 19)

Note that this patch is for gcc-4.9 and applies on top of the modified
patch to enable -fstack-protector-strong by default in bug 1317307. I'll
prepare a patch for gcc-4.8 for use in an SRU in a bit.

I've also added tests to lp:qa-regression-testing to ensure that passed
command line arguments are honored over the default.

** Patch added: "gcc-default-format-security.diff"
   https://bugs.launchpad.net/ubuntu/+source/gcc-4.9/+bug/1317305/+attachment/4111586/+files/gcc-default-format-security.diff

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1317305

Title:
  -Wno-format is not honored

Status in “gcc-4.8” package in Ubuntu:
  New
Status in “gcc-4.9” package in Ubuntu:
  New

Bug description:
  Due to the way the gcc-default-format-security patch is implemented in
  gcc-4.8, disabling format warnings does not work:

    $ cat format-extra-args.c
    #include <stdio.h>

    /* printf extra arguments example */
    int main(void)
    {
          printf("%s\n", "argument 1", "argument 2");

          return 0;
    }
    $ gcc -Wall -O2 -o format-off format-extra-args.c -Wno-format
    format-extra-args.c: In function 'main':
    format-extra-args.c:12:2: warning: too many arguments for format [-Wformat-extra-args]
      printf("%s\n", "argument 1", "argument 2");
      ^

  Earlier versions of gcc allowed disabling warnings correctly.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1317305/+subscriptions



More information about the foundations-bugs mailing list