[packages/xen] - updated to 4.19.3, GCC 15 fixes

hawk hawk at pld-linux.org
Thu Aug 14 16:21:10 CEST 2025


commit ea87b7334bf98ff159b9de247a2505e59a88bc6c
Author: Marcin Krol <hawk at tld-linux.org>
Date:   Thu Aug 14 16:20:24 2025 +0200

    - updated to 4.19.3, GCC 15 fixes

 gcc15.patch      |  19 ++++
 ipxe-gcc15.patch | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 xen.spec         |   8 +-
 3 files changed, 359 insertions(+), 2 deletions(-)
---
diff --git a/xen.spec b/xen.spec
index 88e343d..89bb746 100644
--- a/xen.spec
+++ b/xen.spec
@@ -44,13 +44,13 @@
 Summary:	Xen - a virtual machine monitor
 Summary(pl.UTF-8):	Xen - monitor maszyny wirtualnej
 Name:		xen
-Version:	4.19.2
+Version:	4.19.3
 Release:	1
 License:	GPL v2, interface parts on BSD-like
 Group:		Applications/System
 # for available versions see https://xenproject.org/xen-project-archives/
 Source0:	https://downloads.xenproject.org/release/xen/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	e009b933a7ff72ade1ce77afd1a776e4
+# Source0-md5:	51bc571e56576803f988b777b377dbd3
 # used by stubdoms; Source10-19 versions set in stubdom/configure.ac
 Source10:	%{xen_extfiles_url}/lwip-1.3.0.tar.gz
 # Source10-md5:	36cc57650cffda9a0269493be2a169bb
@@ -105,6 +105,8 @@ Patch14:	gcc9.patch
 Patch15:	gcc10.patch
 Patch17:	%{name}-golang-32bit.patch
 Patch18:	%{name}-gcc12.patch
+Patch19:	gcc15.patch
+Patch20:	ipxe-gcc15.patch
 URL:		http://www.xen.org/products/xenhyp.html
 BuildRequires:	autoconf >= 2.67
 %ifarch %{ix86} %{x8664}
@@ -441,6 +443,8 @@ Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
 %patch -P 17 -p1
 %endif
 %patch -P 18 -p1
+%patch -P 19 -p1
+%patch -P 20 -p1
 
 # stubdom sources
 ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
diff --git a/gcc15.patch b/gcc15.patch
new file mode 100644
index 0000000..d20b541
--- /dev/null
+++ b/gcc15.patch
@@ -0,0 +1,19 @@
+--- xen-4.19.3/tools/firmware/etherboot/Config	2025-08-14 14:06:28.256257694 +0200
++++ xen-4.19.3/tools/firmware/etherboot/Config	2025-08-14 14:07:03.784378858 +0200
+@@ -8,4 +8,4 @@
+ CFLAGS += -UCONSOLE_SERIAL
+ CFLAGS += -DCONSOLE_SERIAL=1
+ 
+-CFLAGS += -Wno-error=enum-conversion -Wno-error=maybe-uninitialized -Wno-error=array-bounds -Wno-error=dangling-pointer
++CFLAGS += -Wno-error=enum-conversion -Wno-error=maybe-uninitialized -Wno-error=array-bounds -Wno-error=dangling-pointer -Wno-unterminated-string-initialization -Wno-incompatible-pointer-types
+--- xen-4.19.3/stubdom/Makefile	2025-08-04 17:20:48.000000000 +0200
++++ xen-4.19.3/stubdom/Makefile	2025-08-14 15:46:32.482302850 +0200
+@@ -247,7 +248,7 @@
+ 	patch -d $@ -p1 < vtpm-command-duration.patch
+ 	patch -d $@ -p1 < vtpm-tpm_bn_t-addr.patch
+ 	mkdir $@/build
+-	cd $@/build; CC=${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)"
++	cd $@/build; CC=${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-error=header-guard"
+ 	touch $@
+ 
+ TPMEMU_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libtpm.a
diff --git a/ipxe-gcc15.patch b/ipxe-gcc15.patch
new file mode 100644
index 0000000..38e1b23
--- /dev/null
+++ b/ipxe-gcc15.patch
@@ -0,0 +1,334 @@
+diff -urN xen-4.19.3/tools/firmware/etherboot/patches/gcc15.patch xen-4.19.3/tools/firmware/etherboot/patches/gcc15.patch
+--- xen-4.19.3/tools/firmware/etherboot/patches/gcc15.patch	1970-01-01 01:00:00.000000000 +0100
++++ xen-4.19.3/tools/firmware/etherboot/patches/gcc15.patch	2025-08-14 15:26:25.409568487 +0200
+@@ -0,0 +1,324 @@
++--- a/src/drivers/net/3c595.c
+++++ b/src/drivers/net/3c595.c
++@@ -443,7 +443,7 @@ vxsetlink(void)
++     GO_WINDOW(1); 
++ }
++ 
++-static void t595_disable ( struct nic *nic ) {
+++static void t595_disable ( struct nic *nic, void *hwdev __unused ) {
++ 
++ 	t595_reset(nic);
++ 
++--- a/src/drivers/net/amd8111e.c
+++++ b/src/drivers/net/amd8111e.c
++@@ -609,7 +609,7 @@ static int amd8111e_poll(struct nic *nic, int retrieve)
++ 	return pkt_ok;
++ }
++ 
++-static void amd8111e_disable(struct nic *nic)
+++static void amd8111e_disable(struct nic *nic, void *hwdev __unused)
++ {
++ 	struct amd8111e_priv *lp = nic->priv_data;
++ 
++--- a/src/drivers/net/bnx2.c
+++++ b/src/drivers/net/bnx2.c
++@@ -2671,6 +2671,12 @@ err_out_disable:
++ 	return 0;
++ }
++ 
+++static void
+++bnx2_remove(struct nic *nic, void *hwdev __unused)
+++{
+++	bnx2_disable(nic);
+++}
+++
++ static struct pci_device_id bnx2_nics[] = {
++ 	PCI_ROM(0x14e4, 0x164a, "bnx2-5706",        "Broadcom NetXtreme II BCM5706", 0),
++ 	PCI_ROM(0x14e4, 0x164c, "bnx2-5708",        "Broadcom NetXtreme II BCM5708", 0),
++@@ -2680,7 +2686,7 @@ static struct pci_device_id bnx2_nics[] = {
++ 
++ PCI_DRIVER ( bnx2_driver, bnx2_nics, PCI_NO_CLASS );
++ 
++-DRIVER ( "BNX2", nic_driver, pci_driver, bnx2_driver, bnx2_probe, bnx2_disable );
+++DRIVER ( "BNX2", nic_driver, pci_driver, bnx2_driver, bnx2_probe, bnx2_remove );
++ 
++ /*
++ static struct pci_driver bnx2_driver __pci_driver = {
++--- a/src/drivers/net/davicom.c
+++++ b/src/drivers/net/davicom.c
++@@ -159,7 +159,7 @@ static void davicom_reset(struct nic *nic);
++ static void davicom_transmit(struct nic *nic, const char *d, unsigned int t,
++ 			   unsigned int s, const char *p);
++ static int davicom_poll(struct nic *nic, int retrieve);
++-static void davicom_disable(struct nic *nic);
+++static void davicom_disable(struct nic *nic, void *hwdev);
++ static void davicom_wait(unsigned int nticks);
++ static int phy_read(int);
++ static void phy_write(int, u16);
++@@ -601,7 +601,7 @@ static int davicom_poll(struct nic *nic, int retrieve)
++ /*********************************************************************/
++ /* eth_disable - Disable the interface                               */
++ /*********************************************************************/
++-static void davicom_disable ( struct nic *nic ) {
+++static void davicom_disable ( struct nic *nic, void *hwdev __unused ) {
++ 
++   whereami("davicom_disable\n");
++ 
++--- a/src/drivers/net/depca.c
+++++ b/src/drivers/net/depca.c
++@@ -644,7 +644,7 @@ static void depca_transmit(
++ /**************************************************************************
++ DISABLE - Turn off ethernet interface
++ ***************************************************************************/
++-static void depca_disable ( struct nic *nic ) {
+++static void depca_disable ( struct nic *nic, void *hwdev __unused ) {
++ 	depca_reset(nic);
++ 
++ 	STOP_DEPCA(nic->ioaddr);
++--- a/src/drivers/net/dmfe.c
+++++ b/src/drivers/net/dmfe.c
++@@ -435,7 +435,7 @@ static void dmfe_transmit(struct nic *nic,
++ /**************************************************************************
++ DISABLE - Turn off ethernet interface
++ ***************************************************************************/
++-static void dmfe_disable ( struct nic *nic __unused ) {
+++static void dmfe_disable ( struct nic *nic __unused, void *hwdev __unused ) {
++ 	/* Reset & stop DM910X board */
++ 	outl(DM910X_RESET, BASE + DCR0);
++ 	udelay(5);
++--- a/src/drivers/net/epic100.c
+++++ b/src/drivers/net/epic100.c
++@@ -51,7 +51,7 @@ struct epic_tx_desc {
++ 
++ static void	epic100_open(void);
++ static void	epic100_init_ring(void);
++-static void	epic100_disable(struct nic *nic);
+++static void	epic100_disable(struct nic *nic, void *hwdev);
++ static int	epic100_poll(struct nic *nic, int retrieve);
++ static void	epic100_transmit(struct nic *nic, const char *destaddr,
++ 				 unsigned int type, unsigned int len, const char *data);
++@@ -419,7 +419,7 @@ epic100_poll(struct nic *nic, int retrieve)
++ }
++ 
++ 
++-static void epic100_disable ( struct nic *nic __unused ) {
+++static void epic100_disable ( struct nic *nic __unused, void *hwdev __unused ) {
++ 	/* Soft reset the chip. */
++ 	outl(GC_SOFT_RESET, genctl);
++ }
++--- a/src/drivers/net/ns8390.c
+++++ b/src/drivers/net/ns8390.c
++@@ -597,7 +597,7 @@ static int ns8390_poll(struct nic *nic, int retrieve)
++ /**************************************************************************
++ NS8390_DISABLE - Turn off adapter
++ **************************************************************************/
++-static void ns8390_disable ( struct nic *nic ) {
+++static void ns8390_disable ( struct nic *nic, void *hwdev __unused ) {
++ 	ns8390_reset(nic);
++ }
++ 
++--- a/src/drivers/net/prism2_pci.c
+++++ b/src/drivers/net/prism2_pci.c
++@@ -44,7 +44,7 @@ static int prism2_pci_probe ( struct nic *nic, struct pci_device *pci ) {
++   return prism2_probe ( nic, hw );
++ }
++ 
++-static void prism2_pci_disable ( struct nic *nic ) {
+++static void prism2_pci_disable ( struct nic *nic, void *hwdev __unused ) {
++   prism2_disable ( nic );
++ }
++ 
++--- a/src/drivers/net/prism2_plx.c
+++++ b/src/drivers/net/prism2_plx.c
++@@ -99,7 +99,7 @@ static int prism2_plx_probe ( struct nic *nic, struct pci_device *pci ) {
++   return prism2_probe ( nic, hw );
++ }
++ 
++-static void prism2_plx_disable ( struct nic *nic ) {
+++static void prism2_plx_disable ( struct nic *nic, void *hwdev __unused ) {
++   prism2_disable ( nic );
++ }
++ 
++--- a/src/drivers/net/sis900.c
+++++ b/src/drivers/net/sis900.c
++@@ -164,7 +164,7 @@ static void sis900_transmit(struct nic *nic, const char *d,
++                             unsigned int t, unsigned int s, const char *p);
++ static int  sis900_poll(struct nic *nic, int retrieve);
++ 
++-static void sis900_disable(struct nic *nic);
+++static void sis900_disable(struct nic *nic, void *hwdev);
++ 
++ static void sis900_irq(struct nic *nic, irq_action_t action);
++ 
++@@ -1238,7 +1238,7 @@ sis900_poll(struct nic *nic, int retrieve)
++  */
++ 
++ static void
++-sis900_disable ( struct nic *nic ) {
+++sis900_disable ( struct nic *nic, void *hwdev __unused ) {
++ 
++     sis900_init(nic);
++ 
++--- a/src/drivers/net/sundance.c
+++++ b/src/drivers/net/sundance.c
++@@ -536,7 +536,7 @@ static void sundance_transmit(struct nic *nic, const char *d,	/* Destination */
++ /**************************************************************************
++ DISABLE - Turn off ethernet interface
++ ***************************************************************************/
++-static void sundance_disable ( struct nic *nic __unused ) {
+++static void sundance_disable ( struct nic *nic __unused, void *hwdev __unused) {
++ 	/* put the card in its initial state */
++ 	/* This function serves 3 purposes.
++ 	 * This disables DMA and interrupts so we don't receive
++--- a/src/drivers/net/tlan.c
+++++ b/src/drivers/net/tlan.c
++@@ -717,7 +717,7 @@ static void tlan_transmit(struct nic *nic, const char *d,	/* Destination */
++ /**************************************************************************
++ DISABLE - Turn off ethernet interface
++ ***************************************************************************/
++-static void tlan_disable ( struct nic *nic __unused ) {
+++static void tlan_disable ( struct nic *nic __unused, void *hwdev __unused ) {
++ 	/* put the card in its initial state */
++ 	/* This function serves 3 purposes.
++ 	 * This disables DMA and interrupts so we don't receive
++--- a/src/drivers/net/tulip.c
+++++ b/src/drivers/net/tulip.c
++@@ -494,7 +494,7 @@ static void tulip_reset(struct nic *nic);
++ static void tulip_transmit(struct nic *nic, const char *d, unsigned int t,
++                            unsigned int s, const char *p);
++ static int tulip_poll(struct nic *nic, int retrieve);
++-static void tulip_disable(struct nic *nic);
+++static void tulip_disable(struct nic *nic, void *hwdev);
++ static void nway_start(struct nic *nic);
++ static void pnic_do_nway(struct nic *nic);
++ static void select_media(struct nic *nic, int startup);
++@@ -1128,7 +1128,7 @@ static int tulip_poll(struct nic *nic, int retrieve)
++ /*********************************************************************/
++ /* eth_disable - Disable the interface                               */
++ /*********************************************************************/
++-static void tulip_disable ( struct nic *nic ) {
+++static void tulip_disable ( struct nic *nic, void *hwdev __unused ) {
++ 
++     whereami("tulip_disable\n");
++ 
++--- a/src/drivers/net/w89c840.c
+++++ b/src/drivers/net/w89c840.c
++@@ -579,7 +579,7 @@ static void w89c840_transmit(
++ /**************************************************************************
++ w89c840_disable - Turn off ethernet interface
++ ***************************************************************************/
++-static void w89c840_disable ( struct nic *nic ) {
+++static void w89c840_disable ( struct nic *nic, void *hwdev __unused ) {
++ 
++     w89c840_reset(nic);
++ 
++--- a/src/include/nic.h
+++++ b/src/include/nic.h
++@@ -217,8 +217,7 @@ static inline void * legacy_isa_get_drvdata ( void *hwdev ) {
++ 	}								  \
++ 	static inline void						  \
++ 	_name ## _disable ( struct nic *nic, void *hwdev ) {		  \
++-		void ( * _unsafe_disable ) () = _disable;		  \
++-		_unsafe_disable ( nic, hwdev );				  \
+++		_disable ( nic, hwdev );				  \
++ 	}								  \
++ 	static inline int						  \
++ 	_name ## _pci_legacy_probe ( struct pci_device *pci ) {		  \
++--- a/src/drivers/net/3c595.c
+++++ b/src/drivers/net/3c595.c
++@@ -342,8 +342,7 @@ eeprom_rdy()
++  * before
++  */
++ static int
++-get_e(offset)
++-int offset;
+++get_e(int offset)
++ {
++ 	if (!eeprom_rdy())
++ 		return (0xffff);
++--- a/src/drivers/infiniband/mlx_utils/src/public/mlx_pci_gw.c
+++++ b/src/drivers/infiniband/mlx_utils/src/public/mlx_pci_gw.c
++@@ -32,7 +32,7 @@ mlx_status
++ mlx_pci_gw_check_capability_id(
++ 							IN mlx_utils *utils,
++ 							IN mlx_uint8 cap_pointer,
++-							OUT mlx_boolean *bool
+++							OUT mlx_boolean *result
++ 							)
++ {
++ 	mlx_status 		status = MLX_SUCCESS;
++@@ -41,7 +41,7 @@ mlx_pci_gw_check_capability_id(
++ 	status = mlx_pci_read(utils, MlxPciWidthUint8, offset,
++ 				1, &id);
++ 	MLX_CHECK_STATUS(utils, status, read_err,"failed to read capability id");
++-	*bool = ( id == PCI_GW_CAPABILITY_ID );
+++	*result = ( id == PCI_GW_CAPABILITY_ID );
++ read_err:
++ 	return status;
++ }
++--- a/src/drivers/net/igbvf/igbvf_osdep.h
+++++ b/src/drivers/net/igbvf/igbvf_osdep.h
++@@ -36,7 +36,6 @@ FILE_LICENCE ( GPL2_ONLY );
++ #define _IGBVF_OSDEP_H_
++ 
++ #define u8         unsigned char
++-#define bool       boolean_t
++ #define dma_addr_t unsigned long
++ #define __le16     uint16_t
++ #define __le32     uint32_t
++@@ -51,10 +50,6 @@ FILE_LICENCE ( GPL2_ONLY );
++ #define ETH_FCS_LEN 4
++ 
++ typedef int spinlock_t;
++-typedef enum {
++-    false = 0,
++-    true = 1
++-} boolean_t;
++ 
++ #define usec_delay(x) udelay(x)
++ #define msec_delay(x) mdelay(x)
++--- a/src/interface/efi/efi_hii.c
+++++ b/src/interface/efi/efi_hii.c
++@@ -147,13 +147,13 @@ void efi_ifr_end_op ( struct efi_ifr_builder *ifr ) {
++  */
++ void efi_ifr_false_op ( struct efi_ifr_builder *ifr ) {
++ 	size_t dispaddr = ifr->ops_len;
++-	EFI_IFR_FALSE *false;
+++	EFI_IFR_FALSE *op;
++ 
++ 	/* Add opcode */
++-	false = efi_ifr_op ( ifr, EFI_IFR_FALSE_OP, sizeof ( *false ) );
+++	op = efi_ifr_op ( ifr, EFI_IFR_FALSE_OP, sizeof ( *op ) );
++ 
++ 	DBGC ( ifr, "IFR %p false\n", ifr );
++-	DBGC2_HDA ( ifr, dispaddr, false, sizeof ( *false ) );
+++	DBGC2_HDA ( ifr, dispaddr, op, sizeof ( *op ) );
++ }
++ 
++ /**
++@@ -462,13 +462,13 @@ void efi_ifr_text_op ( struct efi_ifr_builder *ifr, unsigned int prompt_id,
++  */
++ void efi_ifr_true_op ( struct efi_ifr_builder *ifr ) {
++ 	size_t dispaddr = ifr->ops_len;
++-	EFI_IFR_TRUE *true;
+++	EFI_IFR_TRUE *op;
++ 
++ 	/* Add opcode */
++-	true = efi_ifr_op ( ifr, EFI_IFR_TRUE_OP, sizeof ( *true ) );
+++	op = efi_ifr_op ( ifr, EFI_IFR_TRUE_OP, sizeof ( *op ) );
++ 
++ 	DBGC ( ifr, "IFR %p true\n", ifr );
++-	DBGC2_HDA ( ifr, dispaddr, true, sizeof ( *true ) );
+++	DBGC2_HDA ( ifr, dispaddr, op, sizeof ( *op ) );
++ }
++ 
++ /**
++--- a/src/include/ipxe/xenver.h
+++++ b/src/include/ipxe/xenver.h
++@@ -1,5 +1,5 @@
++ #ifndef _IPXE_XENVER_H
++-#define _IPXE_VENVER_H
+++#define _IPXE_XENVER_H
++ 
++ /** @file
++  *
+diff -urN xen-4.19.3/tools/firmware/etherboot/patches/series xen-4.19.3/tools/firmware/etherboot/patches/series
+--- xen-4.19.3/tools/firmware/etherboot/patches/series	2025-08-04 17:20:48.000000000 +0200
++++ xen-4.19.3/tools/firmware/etherboot/patches/series	2025-08-14 15:14:32.150741829 +0200
+@@ -1 +1,2 @@
+ boot_prompt_option.patch
++gcc15.patch
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xen.git/commitdiff/ea87b7334bf98ff159b9de247a2505e59a88bc6c



More information about the pld-cvs-commit mailing list