On Tue, Dec 18, 2018 at 06:51:17PM +0100, Philippe Mathieu-Daudé wrote: > GCC 8 new warning prevents builds to success since quite some time. > First report on the mailing list is in July 2018: > https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg03723.html > > Various intents has been sent to fix this: > - Incorrectly using g_strlcpy() > https://lists.gnu.org/archive/html/qemu-devel/2018-08/msg03705.html > https://lists.gnu.org/archive/html/qemu-devel/2018-08/msg03706.html > - Using assert() and strpadcpy() > https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg03938.html > - Use #pragma GCC diagnostic ignored "-Wstringop-truncation" > https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg04261.html > - adding an inline wrapper with said pragma in there > https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg04261.html > - -Wno-stringop-truncation is the makefile > https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg04261.html > - Use the 'nonstring' attribute > https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg04493.html > > This series add the QEMU_NONSTRING definition and use it. > > Regards, > > Phil.
Reviewed-by: Michael S. Tsirkin <m...@redhat.com> > Philippe Mathieu-Daudé (5): > qemu/compiler: Define QEMU_NONSTRING > block/sheepdog: Use QEMU_NONSTRING for non NUL-terminated arrays > hw/acpi: Use QEMU_NONSTRING for non NUL-terminated arrays > migration: Use QEMU_NONSTRING for non NUL-terminated arrays > migration: Use strnlen() for fixed-size string > > block/sheepdog.c | 2 +- > hw/acpi/core.c | 8 ++++---- > include/hw/acpi/acpi-defs.h | 8 ++++---- > include/qemu/compiler.h | 15 +++++++++++++++ > migration/global_state.c | 4 ++-- > 5 files changed, 26 insertions(+), 11 deletions(-) > > -- > 2.17.2 -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1803872 Title: gcc 8.2 reports stringop-truncation when building qemu Status in QEMU: New Bug description: QEMU 3.0 block/sheepdog.c: In function 'find_vdi_name': block/sheepdog.c:1239:5: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If this is the intended behavior, please suppress the warning. For example: #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstringop-truncation" strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); #pragma GCC diagnostic pop This also happens on other sources, for example hw/acpi/core.c, so another option is to suppress it globally on CFLAGS (-Wno-stringop- truncation) To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1803872/+subscriptions