File 2006-ipxe-build-Disable-gcc-address-of-p.patch of Package qemu.26284

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.
openSUSE Build Service is sponsored by