Blame SOURCES/kvm-pc-bios-s390-ccw-netboot.mak-Ignore-Clang-s-warnings.patch

586cba
From 56674ee1f25f12978a6a8a1390e11b55b3e0fabe Mon Sep 17 00:00:00 2001
586cba
From: Thomas Huth <thuth@redhat.com>
586cba
Date: Fri, 8 Jul 2022 20:49:01 +0200
586cba
Subject: [PATCH 15/17] pc-bios/s390-ccw/netboot.mak: Ignore Clang's warnings
586cba
 about GNU extensions
586cba
586cba
RH-Author: Thomas Huth <thuth@redhat.com>
586cba
RH-MergeRequest: 106: pc-bios/s390-ccw: Fix boot from disks with 4k sectors that do not have the typical DASD geometry
586cba
RH-Commit: [10/10] 037dab4df23ebb2b42871bca8c842a53a7204b50 (thuth/qemu-kvm-cs9)
586cba
RH-Bugzilla: 2098077
586cba
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
586cba
RH-Acked-by: David Hildenbrand <david@redhat.com>
586cba
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
586cba
586cba
Bugzilla: http://bugzilla.redhat.com/2098077
586cba
586cba
commit e2269220acb03e6c6a460c3090d804835e202239
586cba
Author: Thomas Huth <thuth@redhat.com>
586cba
Date:   Mon Jul 4 13:19:03 2022 +0200
586cba
586cba
    pc-bios/s390-ccw/netboot.mak: Ignore Clang's warnings about GNU extensions
586cba
586cba
    When compiling the s390-ccw bios with Clang (v14.0), there is currently
586cba
    an unuseful warning like this:
586cba
586cba
      CC      pc-bios/s390-ccw/ipv6.o
586cba
     ../../roms/SLOF/lib/libnet/ipv6.c:447:18: warning: variable length array
586cba
      folded to constant array as an extension [-Wgnu-folding-constant]
586cba
                    unsigned short raw[ip6size];
586cba
                                   ^
586cba
586cba
    SLOF is currently GCC-only and cannot be compiled with Clang yet, so
586cba
    it is expected that such extensions sneak in there - and as long as
586cba
    we don't want to compile the code with a compiler that is neither GCC
586cba
    or Clang, it is also not necessary to avoid such extensions.
586cba
586cba
    Thus these GNU-extension related warnings are completely useless in
586cba
    the s390-ccw bios, especially in the code that is coming from SLOF,
586cba
    so we should simply disable the related warnings here now.
586cba
586cba
    Message-Id: <20220704111903.62400-13-thuth@redhat.com>
586cba
    Signed-off-by: Thomas Huth <thuth@redhat.com>
586cba
586cba
Signed-off-by: Thomas Huth <thuth@redhat.com>
586cba
---
586cba
 pc-bios/s390-ccw/netboot.mak | 7 +++++--
586cba
 1 file changed, 5 insertions(+), 2 deletions(-)
586cba
586cba
diff --git a/pc-bios/s390-ccw/netboot.mak b/pc-bios/s390-ccw/netboot.mak
586cba
index 68b4d7edcb..ad41898cb6 100644
586cba
--- a/pc-bios/s390-ccw/netboot.mak
586cba
+++ b/pc-bios/s390-ccw/netboot.mak
586cba
@@ -16,9 +16,12 @@ s390-netboot.elf: $(NETOBJS) libnet.a libc.a
586cba
 s390-netboot.img: s390-netboot.elf
586cba
 	$(call quiet-command,$(STRIP) --strip-unneeded $< -o $@,"STRIP","$(TARGET_DIR)$@")
586cba
 
586cba
+# SLOF is GCC-only, so ignore warnings about GNU extensions with Clang here
586cba
+NO_GNU_WARN := $(call cc-option,-Werror $(QEMU_CFLAGS),-Wno-gnu)
586cba
+
586cba
 # libc files:
586cba
 
586cba
-LIBC_CFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(LIBC_INC) $(LIBNET_INC) \
586cba
+LIBC_CFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(NO_GNU_WARN) $(LIBC_INC) $(LIBNET_INC) \
586cba
 	      -MMD -MP -MT $@ -MF $(@:%.o=%.d)
586cba
 
586cba
 CTYPE_OBJS = isdigit.o isxdigit.o toupper.o
586cba
@@ -52,7 +55,7 @@ libc.a: $(LIBCOBJS)
586cba
 
586cba
 LIBNETOBJS := args.o dhcp.o dns.o icmpv6.o ipv6.o tcp.o udp.o bootp.o \
586cba
 	      dhcpv6.o ethernet.o ipv4.o ndp.o tftp.o pxelinux.o
586cba
-LIBNETCFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(LIBC_INC) $(LIBNET_INC) \
586cba
+LIBNETCFLAGS = $(QEMU_CFLAGS) $(CFLAGS) $(NO_GNU_WARN) $(LIBC_INC) $(LIBNET_INC) \
586cba
 	       -DDHCPARCH=0x1F -MMD -MP -MT $@ -MF $(@:%.o=%.d)
586cba
 
586cba
 %.o : $(SLOF_DIR)/lib/libnet/%.c
586cba
-- 
586cba
2.31.1
586cba