thebeanogamer / rpms / qemu-kvm

Forked from rpms/qemu-kvm 5 months ago
Clone

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

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