https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88993

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-01-24
      Known to work|                            |8.2.0
             Blocks|                            |85741
            Summary|GCC 9 -Wformat-overflow=2   |[9 Regression] GCC 9
                   |should reflect real libc    |-Wformat-overflow=2 should
                   |limits                      |reflect real libc limits
     Ever confirmed|0                           |1
      Known to fail|                            |9.0

--- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> ---
Thanks.  I've built qemu 3.1.0 with -Wformat-overflow=2 myself and reproduced
the warnings below.  Of those, 16 are for fprintf, 106 for printf, and 20 for
sprintf.  At least some of these look like they would be hard to deal with and
for little gain.  For example:

qemu-3.1.0/linux-user/main.c:484:27: warning: ā€˜%-*sā€™ directive output
 between 0 and 2147483648 bytes may exceed minimum required size of 4095
[-Wform
at-overflow=]
  484 |             printf("-%-*s %-*s %s\n", maxarglen, arginfo->argv,
      |                           ^~~~

Let me confirm this as a regression and look into doing something about it for
GCC 9.

Diagnostic                        Count   Unique    Files
-Wstringop-truncation               247        1        1
-Waddress-of-packed-member          189      134       15
-Wformat-overflow=                  143       24        6

-Wformat-overflow Instances:
  /build/tmp/qemu-3.1.0/hw/intc/exynos4210_gic.c:316
  /build/tmp/qemu-3.1.0/hw/intc/exynos4210_gic.c:326
  /build/tmp/qemu-3.1.0/hw/vfio/pci.c:2220
  /build/tmp/qemu-3.1.0/linux-user/main.c:475
  /build/tmp/qemu-3.1.0/linux-user/main.c:480
  /build/tmp/qemu-3.1.0/linux-user/main.c:484
  migration/savevm.c:418
  migration/savevm.c:420
  migration/savevm.c:421
  migration/savevm.c:423
  migration/savevm.c:425
  migration/savevm.c:430
  migration/savevm.c:447
  migration/savevm.c:449
  migration/savevm.c:452
  migration/savevm.c:453
  migration/savevm.c:455
  migration/savevm.c:461
  migration/savevm.c:476
  migration/savevm.c:482
  migration/savevm.c:492
  migration/savevm.c:494
  qemu-img.c:200
  qemu-io.c:422

-Wstringop-truncation Instances:
  /usr/include/bits/string_fortified.h:106


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85741
[Bug 85741] [meta-bug] bogus/missing -Wformat-overflow

Reply via email to