[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