On 03/16/2017 10:23 AM, Peter Maydell wrote:
OK, here's a concrete proposal for deprecating/dropping out of
date host OS and architecture support.
We'll put this in the ChangeLog 'Future incompatible changes'
section:
-----
* Removal of support for untested host OS and architectures:
Tangentially-related: do we officially support bleeding-edge OS builds?
For example, current rawhide has a new-enough gcc that gives some
(possibly-useful) new warnings (-Werror=format-truncation) that fire
when formatting what can be easily proven to be larger than a
fixed-width buffer will hold. If rawhide is not a current target, then
I don't need to spend any time on this (yet); but if rawhide builds ARE
supported, then we want this patched before 2.9:
CC block/blkdebug.o
block/blkdebug.c: In function ‘blkdebug_refresh_filename’:
block/blkdebug.c:693:31: error: ‘%s’ directive output may be truncated
writing up to 4095 bytes into a region of size 4086
[-Werror=format-truncation=]
"blkdebug:%s:%s", s->config_file ?: "",
^~
block/blkdebug.c:692:9: note: ‘snprintf’ output 11 or more bytes
(assuming 4106) into a destination of size 4096
snprintf(bs->exact_filename, sizeof(bs->exact_filename),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"blkdebug:%s:%s", s->config_file ?: "",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bs->file->bs->exact_filename);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [/home/dummy/qemu/rules.mak:69: block/blkdebug.o] Error 1
CC block/blkverify.o
block/blkverify.c: In function ‘blkverify_refresh_filename’:
block/blkverify.c:309:29: error: ‘%s’ directive output may be truncated
writing up to 4095 bytes into a region of size 4086
[-Werror=format-truncation=]
"blkverify:%s:%s",
^~
block/blkverify.c:308:9: note: ‘snprintf’ output between 12 and 8202
bytes into a destination of size 4096
snprintf(bs->exact_filename, sizeof(bs->exact_filename),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"blkverify:%s:%s",
~~~~~~~~~~~~~~~~~~
bs->file->bs->exact_filename,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
s->test_file->bs->exact_filename);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [/home/dummy/qemu/rules.mak:69: block/blkverify.o] Error 1
CC hw/usb/bus.o
hw/usb/bus.c: In function ‘usb_port_location’:
hw/usb/bus.c:410:66: error: ‘%d’ directive output may be truncated
writing between 1 and 11 bytes into a region of size between 0 and 15
[-Werror=format-truncation=]
snprintf(downstream->path, sizeof(downstream->path), "%s.%d",
^~
hw/usb/bus.c:410:9: note: ‘snprintf’ output between 3 and 28 bytes into
a destination of size 16
snprintf(downstream->path, sizeof(downstream->path), "%s.%d",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
upstream->path, portnr);
~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [/home/dummy/qemu/rules.mak:69: hw/usb/bus.o] Error 1
CC net/slirp.o
net/slirp.c: In function ‘slirp_smb_cleanup’:
net/slirp.c:565:44: error: ‘%s’ directive output may be truncated
writing up to 127 bytes into a region of size 121
[-Werror=format-truncation=]
snprintf(cmd, sizeof(cmd), "rm -rf %s", s->smb_dir);
^~
net/slirp.c:565:9: note: ‘snprintf’ output between 8 and 135 bytes into
a destination of size 128
snprintf(cmd, sizeof(cmd), "rm -rf %s", s->smb_dir);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/slirp.c: In function ‘slirp_smb’:
net/slirp.c:609:46: error: ‘%s’ directive output may be truncated
writing 8 bytes into a region of size between 0 and 127
[-Werror=format-truncation=]
snprintf(smb_conf, sizeof(smb_conf), "%s/%s", s->smb_dir, "smb.conf");
^~ ~~~~~~~~~~
net/slirp.c:609:5: note: ‘snprintf’ output between 10 and 137 bytes into
a destination of size 128
snprintf(smb_conf, sizeof(smb_conf), "%s/%s", s->smb_dir, "smb.conf");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/slirp.c:654:55: error: ‘%s’ directive output may be truncated
writing up to 127 bytes into a region of size 110
[-Werror=format-truncation=]
snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -l %s -s %s",
^~
net/slirp.c:654:5: note: ‘snprintf’ output 23 or more bytes (assuming
150) into a destination of size 128
snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -l %s -s %s",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CONFIG_SMBD_COMMAND, s->smb_dir, smb_conf);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [/home/dummy/qemu/rules.mak:69: net/slirp.o] Error 1
make: Target 'all' not remade because of errors.