File 2006-ipxe-build-Disable-gcc-address-of-p.patch of Package qemu.20748
From: Bruce Rogers <brogers@suse.com> Date: Fri, 25 Jan 2019 10:29:16 -0700 Subject: ipxe: build: Disable gcc address of packed member warning GCC 9.0 introduces a new warning for using pointers to packed structure and union members. ipxe code is replete with this usage, partly because the architectures it is designed for handle unaligned accesses. Therefore this warning is not very helpful and since the default build considers warnings to be errors, needs to be disabled. [BR: BSC#1121464] Signed-off-by: Bruce Rogers <brogers@suse.com> --- src/Makefile.housekeeping | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/roms/ipxe/src/Makefile.housekeeping b/roms/ipxe/src/Makefile.housekeeping index 748d9e4404d74d9f00765a5d29d9..521d86369846d0a5e5ac6edb3ee5 100644 --- a/roms/ipxe/src/Makefile.housekeeping +++ b/roms/ipxe/src/Makefile.housekeeping @@ -179,6 +179,19 @@ WNA_FLAGS := $(shell $(WNA_TEST) && $(ECHO) '-Wno-address') WORKAROUND_CFLAGS += $(WNA_FLAGS) endif +# GCC 9.0 introduces a new warning for using pointers to packed +# structure and union members. ipxe code is replete with this usage, +# partly because the architectures it is designed for handle unaligned +# accesses. Therefore this warning is not very helpful and since the +# default build considers warnings to be errors, needs to be disabled. +# +ifeq ($(CCTYPE),gcc) +WNAOPM_TEST = $(CC) -Waddress-of-packed-member -x c -c /dev/null -o /dev/null \ + >/dev/null 2>&1 +WNAOPM_FLAGS := $(shell $(WNAOPM_TEST) && $(ECHO) '-Wno-address-of-packed-member') +WORKAROUND_CFLAGS += $(WNAOPM_FLAGS) +endif + # Some versions of gas choke on division operators, treating them as # comment markers. Specifying --divide will work around this problem, # but isn't available on older gas versions.