mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
		| @ -1,2 +1,2 @@ | ||||
| LINUX_VERSION-5.15 = .183 | ||||
| LINUX_KERNEL_HASH-5.15.183 = d06f7f629a4d61a87ebd0db285ace9ebf4fce0226b10b2c0ec235e3550c58ee8 | ||||
| LINUX_VERSION-5.15 = .185 | ||||
| LINUX_KERNEL_HASH-5.15.185 = 3d03eb798910f32929f7fda5a56e4bb1a121f10bde320d6f3063639c009313dc | ||||
|  | ||||
| @ -73,6 +73,8 @@ endef | ||||
|  | ||||
| HOST_BUILD_PREFIX := $(STAGING_DIR_HOST) | ||||
|  | ||||
| HOST_CFLAGS +=-std=gnu17 | ||||
|  | ||||
| CONFIGURE_VARS += \ | ||||
| 	grub_build_mkfont_excuse="don't want fonts" | ||||
|  | ||||
|  | ||||
| @ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=r8101 | ||||
| PKG_VERSION:=1.039.00 | ||||
| PKG_RELEASE:=2 | ||||
| PKG_RELEASE:=3 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=https://github.com/openwrt/rtl8101/releases/download/$(PKG_VERSION) | ||||
| @ -20,7 +20,7 @@ define KernelPackage/r8101 | ||||
|   TITLE:=Realtek RTL8101 PCI Fast Ethernet driver | ||||
|   DEPENDS:=@PCI_SUPPORT +kmod-libphy | ||||
|   FILES:=$(PKG_BUILD_DIR)/src/r8101.ko | ||||
|   AUTOLOAD:=$(call AutoProbe,r8101) | ||||
|   AUTOLOAD:=$(call AutoProbe,r8101,1) | ||||
|   PROVIDES:=kmod-r8169 | ||||
| endef | ||||
|  | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=r8125 | ||||
| PKG_VERSION:=9.015.00 | ||||
| PKG_VERSION:=9.016.00 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=https://github.com/openwrt/rtl8125/releases/download/$(PKG_VERSION) | ||||
| PKG_HASH:=7d6906336c3ad960c3e7c0299ad655659d7110bdc933c5b568b7f2536cb8ffc3 | ||||
| PKG_HASH:=cd1955dd07d2f5a6faaa210ffc4e8af992421295a32ab6ddcfa759bed9eba922 | ||||
|  | ||||
| PKG_BUILD_PARALLEL:=1 | ||||
| PKG_LICENSE:=GPLv2 | ||||
| @ -20,7 +20,7 @@ define KernelPackage/r8125 | ||||
|   TITLE:=Realtek RTL8125 PCI 2.5 Gigabit Ethernet driver | ||||
|   DEPENDS:=@PCI_SUPPORT +kmod-libphy | ||||
|   FILES:=$(PKG_BUILD_DIR)/src/r8125.ko | ||||
|   AUTOLOAD:=$(call AutoProbe,r8125) | ||||
|   AUTOLOAD:=$(call AutoProbe,r8125,1) | ||||
|   PROVIDES:=kmod-r8169 kmod-r8125-rss | ||||
| endef | ||||
|  | ||||
| @ -28,6 +28,7 @@ define Build/Compile | ||||
| 	+$(KERNEL_MAKE) $(PKG_JOBS) \ | ||||
| 		M="$(PKG_BUILD_DIR)/src" \ | ||||
| 		CONFIG_ASPM=n \ | ||||
| 		ENABLE_MULTIPLE_TX_QUEUE=y \ | ||||
| 		ENABLE_RSS_SUPPORT=y \ | ||||
| 		modules | ||||
| endef | ||||
|  | ||||
| @ -18,7 +18,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||
|  | ||||
| --- a/src/r8125.h | ||||
| +++ b/src/r8125.h | ||||
| @@ -1687,6 +1687,9 @@ enum RTL8125_register_content { | ||||
| @@ -1726,6 +1726,9 @@ enum RTL8125_register_content { | ||||
|          LinkStatus = 0x02, | ||||
|          FullDup = 0x01, | ||||
|   | ||||
| @ -38,7 +38,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||
|  #include <linux/netdevice.h> | ||||
|  #include <linux/etherdevice.h> | ||||
|  #include <linux/delay.h> | ||||
| @@ -5023,6 +5024,38 @@ rtl8125_link_down_patch(struct net_devic | ||||
| @@ -5045,6 +5046,38 @@ rtl8125_link_down_patch(struct net_devic | ||||
|  #endif | ||||
|  } | ||||
|   | ||||
| @ -77,7 +77,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||
|  static void | ||||
|  _rtl8125_check_link_status(struct net_device *dev, unsigned int link_state) | ||||
|  { | ||||
| @@ -5035,11 +5068,18 @@ _rtl8125_check_link_status(struct net_de | ||||
| @@ -5057,11 +5090,18 @@ _rtl8125_check_link_status(struct net_de | ||||
|          if (link_state == R8125_LINK_STATE_ON) { | ||||
|                  rtl8125_link_on_patch(dev); | ||||
|   | ||||
|  | ||||
| @ -8,8 +8,8 @@ | ||||
|  #include <linux/if_vlan.h> | ||||
|  #include <linux/crc32.h> | ||||
|  #include <linux/interrupt.h> | ||||
| @@ -14221,6 +14222,25 @@ rtl8125_setup_mqs_reg(struct rtl8125_pri | ||||
|                  tp->imr_reg[i] = (u16)(IMR1_8125 + (i - 1) * 4); | ||||
| @@ -14807,6 +14808,25 @@ rtl8125_restore_phy_fuse_dout(struct rtl | ||||
|                  return; | ||||
|  } | ||||
|   | ||||
| +static int | ||||
| @ -34,12 +34,11 @@ | ||||
|  static void | ||||
|  rtl8125_init_software_variable(struct net_device *dev) | ||||
|  { | ||||
| @@ -14677,6 +14697,8 @@ rtl8125_init_software_variable(struct ne | ||||
| @@ -15309,6 +15329,7 @@ rtl8125_init_software_variable(struct ne | ||||
|          else if (tp->InitRxDescType == RX_DESC_RING_TYPE_4) | ||||
|                  tp->rtl8125_rx_config &= ~EnableRxDescV4_1; | ||||
|   | ||||
| +        rtl8125_led_configuration(tp); | ||||
| + | ||||
|          tp->NicCustLedValue = RTL_R16(tp, CustomLED); | ||||
|          rtl8125_backup_led_select(tp); | ||||
|   | ||||
|          tp->wol_opts = rtl8125_get_hw_wol(tp); | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| --- a/src/r8125_n.c | ||||
| +++ b/src/r8125_n.c | ||||
| @@ -15723,6 +15723,7 @@ rtl8125_init_board(struct pci_dev *pdev, | ||||
| @@ -16360,6 +16360,7 @@ rtl8125_init_board(struct pci_dev *pdev, | ||||
|          void __iomem *ioaddr; | ||||
|          struct net_device *dev; | ||||
|          struct rtl8125_private *tp; | ||||
| @ -8,7 +8,7 @@ | ||||
|          int rc = -ENOMEM, i, pm_cap; | ||||
|   | ||||
|          assert(ioaddr_out != NULL); | ||||
| @@ -15737,6 +15738,9 @@ rtl8125_init_board(struct pci_dev *pdev, | ||||
| @@ -16374,6 +16375,9 @@ rtl8125_init_board(struct pci_dev *pdev, | ||||
|                  goto err_out; | ||||
|          } | ||||
|   | ||||
|  | ||||
| @ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=r8126 | ||||
| PKG_VERSION:=10.015.00 | ||||
| PKG_RELEASE:=1 | ||||
| PKG_RELEASE:=3 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=https://github.com/openwrt/rtl8126/releases/download/$(PKG_VERSION) | ||||
| @ -20,7 +20,7 @@ define KernelPackage/r8126 | ||||
|   TITLE:=Realtek RTL8126 PCI 5 Gigabit Ethernet driver | ||||
|   DEPENDS:=@PCI_SUPPORT +kmod-libphy | ||||
|   FILES:=$(PKG_BUILD_DIR)/src/r8126.ko | ||||
|   AUTOLOAD:=$(call AutoProbe,r8126) | ||||
|   AUTOLOAD:=$(call AutoProbe,r8126,1) | ||||
|   PROVIDES:=kmod-r8169 kmod-r8126-rss | ||||
| endef | ||||
|  | ||||
| @ -28,6 +28,7 @@ define Build/Compile | ||||
| 	+$(KERNEL_MAKE) $(PKG_JOBS) \ | ||||
| 		M="$(PKG_BUILD_DIR)/src" \ | ||||
| 		CONFIG_ASPM=n \ | ||||
| 		ENABLE_MULTIPLE_TX_QUEUE=y \ | ||||
| 		ENABLE_RSS_SUPPORT=y \ | ||||
| 		modules | ||||
| endef | ||||
|  | ||||
							
								
								
									
										35
									
								
								package/kernel/r8127/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								package/kernel/r8127/Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=r8127 | ||||
| PKG_VERSION:=11.014.00 | ||||
| PKG_RELEASE:=3 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=https://github.com/openwrt/rtl8127/releases/download/$(PKG_VERSION) | ||||
| PKG_HASH:=f496bc16c32d2e8f9482c57d006604c70d9e8d55b4f1f999b88c602de9104094 | ||||
|  | ||||
| PKG_BUILD_PARALLEL:=1 | ||||
| PKG_LICENSE:=GPLv2 | ||||
| PKG_MAINTAINER:=Alvaro Fernandez Rojas <noltari@gmail.com> | ||||
|  | ||||
| include $(INCLUDE_DIR)/kernel.mk | ||||
| include $(INCLUDE_DIR)/package.mk | ||||
|  | ||||
| define KernelPackage/r8127 | ||||
|   SUBMENU:=Network Devices | ||||
|   TITLE:=Realtek RTL8127 PCI 10 Gigabit Ethernet driver | ||||
|   DEPENDS:=@PCI_SUPPORT +kmod-libphy | ||||
|   FILES:=$(PKG_BUILD_DIR)/src/r8127.ko | ||||
|   AUTOLOAD:=$(call AutoProbe,r8127,1) | ||||
|   PROVIDES:=kmod-r8169 kmod-r8127-rss | ||||
| endef | ||||
|  | ||||
| define Build/Compile | ||||
| 	+$(KERNEL_MAKE) $(PKG_JOBS) \ | ||||
| 		M="$(PKG_BUILD_DIR)/src" \ | ||||
| 		ENABLE_MULTIPLE_TX_QUEUE=y \ | ||||
| 		ENABLE_RSS_SUPPORT=y \ | ||||
| 		modules | ||||
| endef | ||||
|  | ||||
| $(eval $(call KernelPackage,r8127)) | ||||
| @ -0,0 +1,107 @@ | ||||
| From 5ca1d47e065c0318774a946ffdf76010c78cc164 Mon Sep 17 00:00:00 2001 | ||||
| From: Chukun Pan <amadeus@jmu.edu.cn> | ||||
| Date: Sat, 10 Aug 2024 20:16:32 +0800 | ||||
| Subject: [PATCH] r8127: print link speed and duplex mode | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
|  | ||||
| Like other Ethernet drivers, print link speed and duplex mode | ||||
| when the interface is up. Formatting output at the same time. | ||||
|  | ||||
| Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> | ||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||
| --- | ||||
|  src/r8127.h   |  2 ++ | ||||
|  src/r8127_n.c | 48 +++++++++++++++++++++++++++++++++++++++++++++--- | ||||
|  2 files changed, 47 insertions(+), 3 deletions(-) | ||||
|  | ||||
| --- a/src/r8127.h | ||||
| +++ b/src/r8127.h | ||||
| @@ -1753,6 +1753,11 @@ enum RTL8127_register_content { | ||||
|          LinkStatus = 0x02, | ||||
|          FullDup = 0x01, | ||||
|   | ||||
| +#define RTL8127_FULL_DUPLEX_MASK (_10000bpsF | _5000bpsF | _2500bpsF | _1000bpsF | FullDup) | ||||
| +#define RTL8127_SPEED_1000_MASK (_1000bpsF | _1000bpsL | _2500bpsL) | ||||
| +#define RTL8127_SPEED_2500_MASK (_2500bpsF | _5000bpsL) | ||||
| +#define RTL8127_SPEED_5000_MASK (_5000bpsF | _10000bpsL) | ||||
| + | ||||
|          /* DBG_reg */ | ||||
|          Fix_Nak_1 = (1 << 4), | ||||
|          Fix_Nak_2 = (1 << 3), | ||||
| --- a/src/r8127_n.c | ||||
| +++ b/src/r8127_n.c | ||||
| @@ -39,6 +39,7 @@ | ||||
|  #include <linux/module.h> | ||||
|  #include <linux/version.h> | ||||
|  #include <linux/pci.h> | ||||
| +#include <linux/phy.h> | ||||
|  #include <linux/netdevice.h> | ||||
|  #include <linux/etherdevice.h> | ||||
|  #include <linux/delay.h> | ||||
| @@ -4746,6 +4747,42 @@ rtl8127_link_down_patch(struct net_devic | ||||
|  #endif | ||||
|  } | ||||
|   | ||||
| +static unsigned int rtl8127_phy_duplex(u32 status) | ||||
| +{ | ||||
| +        unsigned int duplex = DUPLEX_UNKNOWN; | ||||
| + | ||||
| +        if (status & LinkStatus) { | ||||
| +                if (status & RTL8127_FULL_DUPLEX_MASK) | ||||
| +                        duplex = DUPLEX_FULL; | ||||
| +                else | ||||
| +                        duplex = DUPLEX_HALF; | ||||
| +        } | ||||
| + | ||||
| +        return duplex; | ||||
| +} | ||||
| + | ||||
| +static int rtl8127_phy_speed(u32 status) | ||||
| +{ | ||||
| +        int speed = SPEED_UNKNOWN; | ||||
| + | ||||
| +        if (status & LinkStatus) { | ||||
| +                if (status & _10000bpsF) | ||||
| +                        speed = SPEED_10000; | ||||
| +                else if (status & RTL8127_SPEED_5000_MASK) | ||||
| +                        speed = SPEED_5000; | ||||
| +                else if (status & RTL8127_SPEED_2500_MASK) | ||||
| +                        speed = SPEED_2500; | ||||
| +                else if (status & RTL8127_SPEED_1000_MASK) | ||||
| +                        speed = SPEED_1000; | ||||
| +                else if (status & _100bps) | ||||
| +                        speed = SPEED_100; | ||||
| +                else if (status & _10bps) | ||||
| +                        speed = SPEED_10; | ||||
| +        } | ||||
| + | ||||
| +        return speed; | ||||
| +} | ||||
| + | ||||
|  static void | ||||
|  _rtl8127_check_link_status(struct net_device *dev, unsigned int link_state) | ||||
|  { | ||||
| @@ -4758,11 +4795,18 @@ _rtl8127_check_link_status(struct net_de | ||||
|          if (link_state == R8127_LINK_STATE_ON) { | ||||
|                  rtl8127_link_on_patch(dev); | ||||
|   | ||||
| -                if (netif_msg_ifup(tp)) | ||||
| -                        printk(KERN_INFO PFX "%s: link up\n", dev->name); | ||||
| +                if (netif_msg_ifup(tp)) { | ||||
| +                        const u32 phy_status = RTL_R32(tp, PHYstatus); | ||||
| +                        const unsigned int phy_duplex = rtl8127_phy_duplex(phy_status); | ||||
| +                        const int phy_speed = rtl8127_phy_speed(phy_status); | ||||
| +                        printk(KERN_INFO PFX "%s: Link is Up - %s/%s\n", | ||||
| +                                dev->name, | ||||
| +                                phy_speed_to_str(phy_speed), | ||||
| +                                phy_duplex_to_str(phy_duplex)); | ||||
| +                } | ||||
|          } else { | ||||
|                  if (netif_msg_ifdown(tp)) | ||||
| -                        printk(KERN_INFO PFX "%s: link down\n", dev->name); | ||||
| +                        printk(KERN_INFO PFX "%s: Link is Down\n", dev->name); | ||||
|   | ||||
|                  rtl8127_link_down_patch(dev); | ||||
|          } | ||||
| @ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=r8168 | ||||
| PKG_VERSION:=8.055.00 | ||||
| PKG_RELEASE:=1 | ||||
| PKG_RELEASE:=3 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=https://github.com/openwrt/rtl8168/releases/download/$(PKG_VERSION) | ||||
| @ -20,13 +20,14 @@ define KernelPackage/r8168 | ||||
|   TITLE:=Realtek RTL8168 PCI Gigabit Ethernet driver | ||||
|   DEPENDS:=@PCI_SUPPORT +kmod-libphy | ||||
|   FILES:=$(PKG_BUILD_DIR)/src/r8168.ko | ||||
|   AUTOLOAD:=$(call AutoProbe,r8168) | ||||
|   PROVIDES:=kmod-r8169 | ||||
|   AUTOLOAD:=$(call AutoProbe,r8168,1) | ||||
|   PROVIDES:=kmod-r8169 kmod-r8168-rss | ||||
| endef | ||||
|  | ||||
| define Build/Compile | ||||
| 	+$(KERNEL_MAKE) $(PKG_JOBS) \ | ||||
| 		M="$(PKG_BUILD_DIR)/src" \ | ||||
| 		ENABLE_MULTIPLE_TX_QUEUE=y \ | ||||
| 		ENABLE_RSS_SUPPORT=y \ | ||||
| 		modules | ||||
| endef | ||||
|  | ||||
| @ -8,12 +8,12 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=wolfssl | ||||
| PKG_VERSION:=5.7.2-stable | ||||
| PKG_VERSION:=5.7.6-stable | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||
| PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION) | ||||
| PKG_HASH:=0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305 | ||||
| PKG_HASH:=52b1e439e30d1ed8162a16308a8525a862183b67aa30373b11166ecbab000d63 | ||||
|  | ||||
| PKG_FIXUP:=libtool libtool-abiver | ||||
| PKG_INSTALL:=1 | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| --- a/wolfssl/wolfcrypt/settings.h | ||||
| +++ b/wolfssl/wolfcrypt/settings.h | ||||
| @@ -3046,7 +3046,7 @@ extern void uITRON4_free(void *p) ; | ||||
| @@ -3722,7 +3722,7 @@ extern void uITRON4_free(void *p) ; | ||||
|   | ||||
|  /* warning for not using harden build options (default with ./configure) */ | ||||
|  /* do not warn if big integer support is disabled */ | ||||
|  | ||||
| @ -5,9 +5,9 @@ PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL=$(PROJECT_GIT)/project/jsonpath.git | ||||
| PKG_SOURCE_DATE:=2024-01-23 | ||||
| PKG_SOURCE_VERSION:=594cfa86469c005972ba750614f5b3f1af84d0f6 | ||||
| PKG_MIRROR_HASH:=70d2e0870b746920af4569631218c38c1dddfee4f5d029ec8ea0a67999bdafcd | ||||
| PKG_SOURCE_DATE:=2025-04-18 | ||||
| PKG_SOURCE_VERSION:=8a86fb78235b5d7925b762b7b0934517890cc034 | ||||
| PKG_MIRROR_HASH:=59b78647914855284960630f8e9d716bf09f00ab007cf1e2c1570ae5c55cc64a | ||||
| CMAKE_INSTALL:=1 | ||||
|  | ||||
| PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io> | ||||
|  | ||||
| @ -751,7 +751,7 @@ SVN-Revision: 35130 | ||||
|  EXPORT_SYMBOL(xfrm_parse_spi); | ||||
| --- a/net/ipv4/tcp_input.c | ||||
| +++ b/net/ipv4/tcp_input.c | ||||
| @@ -4228,14 +4228,16 @@ static bool tcp_parse_aligned_timestamp( | ||||
| @@ -4236,14 +4236,16 @@ static bool tcp_parse_aligned_timestamp( | ||||
|  { | ||||
|  	const __be32 *ptr = (const __be32 *)(th + 1); | ||||
|   | ||||
|  | ||||
| @ -1984,7 +1984,7 @@ bcm2835-mmc: uninitialized_var is no more | ||||
|   | ||||
|  #define MAX_TUNING_LOOP 40 | ||||
|   | ||||
| @@ -3191,7 +3191,7 @@ static void sdhci_timeout_timer(struct t | ||||
| @@ -3196,7 +3196,7 @@ static void sdhci_timeout_timer(struct t | ||||
|  	spin_lock_irqsave(&host->lock, flags); | ||||
|   | ||||
|  	if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { | ||||
| @ -1993,7 +1993,7 @@ bcm2835-mmc: uninitialized_var is no more | ||||
|  		       mmc_hostname(host->mmc)); | ||||
|  		sdhci_dumpregs(host); | ||||
|   | ||||
| @@ -3213,7 +3213,7 @@ static void sdhci_timeout_data_timer(str | ||||
| @@ -3218,7 +3218,7 @@ static void sdhci_timeout_data_timer(str | ||||
|   | ||||
|  	if (host->data || host->data_cmd || | ||||
|  	    (host->cmd && sdhci_data_line_cmd(host->cmd))) { | ||||
|  | ||||
| @ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/hid/hid-ids.h | ||||
| +++ b/drivers/hid/hid-ids.h | ||||
| @@ -226,6 +226,9 @@ | ||||
| @@ -230,6 +230,9 @@ | ||||
|  #define USB_VENDOR_ID_BAANTO		0x2453 | ||||
|  #define USB_DEVICE_ID_BAANTO_MT_190W2	0x0100 | ||||
|   | ||||
| @ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|  #define USB_VENDOR_ID_BELKIN		0x050d | ||||
|  #define USB_DEVICE_ID_FLIP_KVM		0x3201 | ||||
|   | ||||
| @@ -1339,6 +1342,9 @@ | ||||
| @@ -1343,6 +1346,9 @@ | ||||
|  #define USB_VENDOR_ID_XAT	0x2505 | ||||
|  #define USB_DEVICE_ID_XAT_CSR	0x0220 | ||||
|   | ||||
| @ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|  #define USB_DEVICE_ID_THT_2P_ARCADE		0x75e1 | ||||
| --- a/drivers/hid/hid-quirks.c | ||||
| +++ b/drivers/hid/hid-quirks.c | ||||
| @@ -42,6 +42,7 @@ static const struct hid_device_id hid_qu | ||||
| @@ -44,6 +44,7 @@ static const struct hid_device_id hid_qu | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS682), HID_QUIRK_NOGET }, | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS692), HID_QUIRK_NOGET }, | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM), HID_QUIRK_NOGET }, | ||||
| @ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, | ||||
| @@ -200,6 +201,7 @@ static const struct hid_device_id hid_qu | ||||
| @@ -202,6 +203,7 @@ static const struct hid_device_id hid_qu | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, | ||||
|  	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, | ||||
|  | ||||
| @ -26,7 +26,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/gpu/drm/drm_edid.c | ||||
| +++ b/drivers/gpu/drm/drm_edid.c | ||||
| @@ -5746,13 +5746,13 @@ static const u32 hdmi_colorimetry_val[] | ||||
| @@ -5747,13 +5747,13 @@ static const u32 hdmi_colorimetry_val[] | ||||
|  #undef ACE | ||||
|   | ||||
|  /** | ||||
| @ -43,7 +43,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  				  const struct drm_connector_state *conn_state) | ||||
|  { | ||||
|  	u32 colorimetry_val; | ||||
| @@ -5771,7 +5771,7 @@ drm_hdmi_avi_infoframe_colorspace(struct | ||||
| @@ -5772,7 +5772,7 @@ drm_hdmi_avi_infoframe_colorspace(struct | ||||
|  	frame->extended_colorimetry = (colorimetry_val >> 2) & | ||||
|  					EXTENDED_COLORIMETRY_MASK; | ||||
|  } | ||||
|  | ||||
| @ -59,7 +59,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  | ||||
| --- a/drivers/gpu/drm/drm_atomic_helper.c | ||||
| +++ b/drivers/gpu/drm/drm_atomic_helper.c | ||||
| @@ -1516,13 +1516,6 @@ drm_atomic_helper_wait_for_vblanks(struc | ||||
| @@ -1544,13 +1544,6 @@ drm_atomic_helper_wait_for_vblanks(struc | ||||
|  	int i, ret; | ||||
|  	unsigned int crtc_mask = 0; | ||||
|   | ||||
| @ -73,7 +73,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech> | ||||
|  	for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) { | ||||
|  		if (!new_crtc_state->active) | ||||
|  			continue; | ||||
| @@ -2150,12 +2143,6 @@ int drm_atomic_helper_setup_commit(struc | ||||
| @@ -2178,12 +2171,6 @@ int drm_atomic_helper_setup_commit(struc | ||||
|  			complete_all(&commit->flip_done); | ||||
|  			continue; | ||||
|  		} | ||||
|  | ||||
| @ -329,7 +329,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  | ||||
| --- a/arch/arm64/include/asm/pgtable.h | ||||
| +++ b/arch/arm64/include/asm/pgtable.h | ||||
| @@ -1005,23 +1005,13 @@ static inline void update_mmu_cache(stru | ||||
| @@ -1006,23 +1006,13 @@ static inline void update_mmu_cache(stru | ||||
|   * page after fork() + CoW for pfn mappings. We don't always have a | ||||
|   * hardware-managed access flag on arm64. | ||||
|   */ | ||||
|  | ||||
| @ -594,7 +594,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  	VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING, | ||||
| --- a/mm/memcontrol.c | ||||
| +++ b/mm/memcontrol.c | ||||
| @@ -5204,6 +5204,7 @@ static void __mem_cgroup_free(struct mem | ||||
| @@ -5202,6 +5202,7 @@ static void __mem_cgroup_free(struct mem | ||||
|   | ||||
|  static void mem_cgroup_free(struct mem_cgroup *memcg) | ||||
|  { | ||||
| @ -602,7 +602,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  	memcg_wb_domain_exit(memcg); | ||||
|  	__mem_cgroup_free(memcg); | ||||
|  } | ||||
| @@ -5267,6 +5268,7 @@ static struct mem_cgroup *mem_cgroup_all | ||||
| @@ -5265,6 +5266,7 @@ static struct mem_cgroup *mem_cgroup_all | ||||
|  	spin_lock(&memcg_idr_lock); | ||||
|  	idr_replace(&mem_cgroup_idr, memcg, memcg->id.id); | ||||
|  	spin_unlock(&memcg_idr_lock); | ||||
|  | ||||
| @ -210,7 +210,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  		unsigned long floor, unsigned long ceiling); | ||||
| --- a/mm/memcontrol.c | ||||
| +++ b/mm/memcontrol.c | ||||
| @@ -2803,6 +2803,7 @@ static void commit_charge(struct page *p | ||||
| @@ -2801,6 +2801,7 @@ static void commit_charge(struct page *p | ||||
|  	 * - LRU isolation | ||||
|  	 * - lock_page_memcg() | ||||
|  	 * - exclusive reference | ||||
|  | ||||
| @ -398,7 +398,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  	mmdrop(mm); | ||||
|  } | ||||
|   | ||||
| @@ -2624,6 +2626,13 @@ pid_t kernel_clone(struct kernel_clone_a | ||||
| @@ -2700,6 +2702,13 @@ pid_t kernel_clone(struct kernel_clone_a | ||||
|  		get_task_struct(p); | ||||
|  	} | ||||
|   | ||||
| @ -424,7 +424,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  			/* will mmdrop() in finish_task_switch(). */ | ||||
| --- a/mm/memcontrol.c | ||||
| +++ b/mm/memcontrol.c | ||||
| @@ -6238,6 +6238,30 @@ static void mem_cgroup_move_task(void) | ||||
| @@ -6236,6 +6236,30 @@ static void mem_cgroup_move_task(void) | ||||
|  } | ||||
|  #endif | ||||
|   | ||||
| @ -455,7 +455,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  static int seq_puts_memcg_tunable(struct seq_file *m, unsigned long value) | ||||
|  { | ||||
|  	if (value == PAGE_COUNTER_MAX) | ||||
| @@ -6581,6 +6605,7 @@ struct cgroup_subsys memory_cgrp_subsys | ||||
| @@ -6579,6 +6603,7 @@ struct cgroup_subsys memory_cgrp_subsys | ||||
|  	.css_reset = mem_cgroup_css_reset, | ||||
|  	.css_rstat_flush = mem_cgroup_css_rstat_flush, | ||||
|  	.can_attach = mem_cgroup_can_attach, | ||||
|  | ||||
| @ -318,7 +318,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  	mctz = soft_limit_tree_from_page(page); | ||||
|  	if (!mctz) | ||||
|  		return; | ||||
| @@ -3439,6 +3449,9 @@ unsigned long mem_cgroup_soft_limit_recl | ||||
| @@ -3437,6 +3447,9 @@ unsigned long mem_cgroup_soft_limit_recl | ||||
|  	unsigned long excess; | ||||
|  	unsigned long nr_scanned; | ||||
|   | ||||
| @ -328,7 +328,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  	if (order > 0) | ||||
|  		return 0; | ||||
|   | ||||
| @@ -5347,6 +5360,7 @@ static int mem_cgroup_css_online(struct | ||||
| @@ -5345,6 +5358,7 @@ static int mem_cgroup_css_online(struct | ||||
|  	if (unlikely(mem_cgroup_is_root(memcg))) | ||||
|  		queue_delayed_work(system_unbound_wq, &stats_flush_dwork, | ||||
|  				   2UL*HZ); | ||||
| @ -336,7 +336,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  	return 0; | ||||
|  } | ||||
|   | ||||
| @@ -5373,6 +5387,7 @@ static void mem_cgroup_css_offline(struc | ||||
| @@ -5371,6 +5385,7 @@ static void mem_cgroup_css_offline(struc | ||||
|  	memcg_offline_kmem(memcg); | ||||
|  	reparent_shrinker_deferred(memcg); | ||||
|  	wb_memcg_offline(memcg); | ||||
| @ -344,7 +344,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|   | ||||
|  	drain_all_stock(memcg); | ||||
|   | ||||
| @@ -5384,6 +5399,7 @@ static void mem_cgroup_css_released(stru | ||||
| @@ -5382,6 +5397,7 @@ static void mem_cgroup_css_released(stru | ||||
|  	struct mem_cgroup *memcg = mem_cgroup_from_css(css); | ||||
|   | ||||
|  	invalidate_reclaim_iterators(memcg); | ||||
| @ -354,7 +354,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||||
|  static void mem_cgroup_css_free(struct cgroup_subsys_state *css) | ||||
| --- a/mm/page_alloc.c | ||||
| +++ b/mm/page_alloc.c | ||||
| @@ -7706,6 +7706,7 @@ static void __init free_area_init_node(i | ||||
| @@ -7714,6 +7714,7 @@ static void __init free_area_init_node(i | ||||
|  	pgdat_set_deferred_range(pgdat); | ||||
|   | ||||
|  	free_area_init_core(pgdat); | ||||
|  | ||||
| @ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|   | ||||
| --- a/net/ipv4/fib_trie.c | ||||
| +++ b/net/ipv4/fib_trie.c | ||||
| @@ -3026,11 +3026,13 @@ static const struct seq_operations fib_r | ||||
| @@ -3004,11 +3004,13 @@ static const struct seq_operations fib_r | ||||
|   | ||||
|  int __net_init fib_proc_init(struct net *net) | ||||
|  { | ||||
| @ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  			fib_triestat_seq_show, NULL)) | ||||
|  		goto out2; | ||||
|   | ||||
| @@ -3041,17 +3043,21 @@ int __net_init fib_proc_init(struct net | ||||
| @@ -3019,17 +3021,21 @@ int __net_init fib_proc_init(struct net | ||||
|  	return 0; | ||||
|   | ||||
|  out3: | ||||
|  | ||||
| @ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de> | ||||
|  | ||||
| --- a/mm/page_alloc.c | ||||
| +++ b/mm/page_alloc.c | ||||
| @@ -7665,7 +7665,7 @@ static void __init alloc_node_mem_map(st | ||||
| @@ -7673,7 +7673,7 @@ static void __init alloc_node_mem_map(st | ||||
|  	if (pgdat == NODE_DATA(0)) { | ||||
|  		mem_map = NODE_DATA(0)->node_mem_map; | ||||
|  		if (page_to_pfn(mem_map) != pgdat->node_start_pfn) | ||||
|  | ||||
| @ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> | ||||
|  static void rt_fibinfo_free(struct rtable __rcu **rtp) | ||||
| --- a/net/ipv4/fib_trie.c | ||||
| +++ b/net/ipv4/fib_trie.c | ||||
| @@ -2774,6 +2774,7 @@ static const char *const rtn_type_names[ | ||||
| @@ -2752,6 +2752,7 @@ static const char *const rtn_type_names[ | ||||
|  	[RTN_THROW] = "THROW", | ||||
|  	[RTN_NAT] = "NAT", | ||||
|  	[RTN_XRESOLVE] = "XRESOLVE", | ||||
|  | ||||
| @ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  | ||||
| --- a/net/netfilter/nf_tables_api.c | ||||
| +++ b/net/netfilter/nf_tables_api.c | ||||
| @@ -7844,7 +7844,7 @@ static int nft_register_flowtable_net_ho | ||||
| @@ -7849,7 +7849,7 @@ static int nft_register_flowtable_net_ho | ||||
|  		err = flowtable->data.type->setup(&flowtable->data, | ||||
|  						  hook->ops.dev, | ||||
|  						  FLOW_BLOCK_BIND); | ||||
|  | ||||
| @ -425,7 +425,7 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org> | ||||
|  	if (ret) | ||||
| --- a/drivers/i2c/busses/i2c-qup.c | ||||
| +++ b/drivers/i2c/busses/i2c-qup.c | ||||
| @@ -1885,7 +1885,7 @@ nodma: | ||||
| @@ -1921,7 +1921,7 @@ nodma: | ||||
|  	qup->adap.dev.of_node = pdev->dev.of_node; | ||||
|  	qup->is_last = true; | ||||
|   | ||||
|  | ||||
| @ -225,6 +225,7 @@ CONFIG_MICROCODE_AMD=y | ||||
| CONFIG_MICROCODE_INTEL=y | ||||
| CONFIG_MICROCODE_LATE_LOADING=y | ||||
| CONFIG_MIGRATION=y | ||||
| CONFIG_MITIGATION_ITS=y | ||||
| CONFIG_MITIGATION_RFDS=y | ||||
| CONFIG_MITIGATION_SPECTRE_BHI=y | ||||
| # CONFIG_MK6 is not set | ||||
|  | ||||
| @ -0,0 +1,66 @@ | ||||
| From 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4 Mon Sep 17 00:00:00 2001 | ||||
| From: Sam James <sam@gentoo.org> | ||||
| Date: Sat, 16 Nov 2024 05:03:52 +0000 | ||||
| Subject: [PATCH] opcodes: fix -std=gnu23 compatibility wrt static_assert | ||||
|  | ||||
| static_assert is declared in C23 so we can't reuse that identifier: | ||||
| * Define our own static_assert conditionally; | ||||
|  | ||||
| * Rename "static assert" hacks to _N as we do already in some places | ||||
|   to avoid a conflict. | ||||
|  | ||||
| ChangeLog: | ||||
| 	PR ld/32372 | ||||
|  | ||||
|         * i386-gen.c (static_assert): Define conditionally. | ||||
|         * mips-formats.h (MAPPED_INT): Rename identifier. | ||||
|         (MAPPED_REG): Rename identifier. | ||||
|         (OPTIONAL_MAPPED_REG): Rename identifier. | ||||
|         * s390-opc.c (static_assert): Define conditionally. | ||||
| --- | ||||
|  opcodes/i386-gen.c     | 2 ++ | ||||
|  opcodes/mips-formats.h | 6 +++--- | ||||
|  opcodes/s390-opc.c     | 2 ++ | ||||
|  3 files changed, 7 insertions(+), 3 deletions(-) | ||||
|  | ||||
| --- a/opcodes/i386-gen.c | ||||
| +++ b/opcodes/i386-gen.c | ||||
| @@ -33,7 +33,9 @@ | ||||
|   | ||||
|  /* Build-time checks are preferrable over runtime ones.  Use this construct | ||||
|     in preference where possible.  */ | ||||
| +#ifndef static_assert | ||||
|  #define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); })) | ||||
| +#endif | ||||
|   | ||||
|  static const char *program_name = NULL; | ||||
|  static int debug = 0; | ||||
| --- a/opcodes/mips-formats.h | ||||
| +++ b/opcodes/mips-formats.h | ||||
| @@ -49,7 +49,7 @@ | ||||
|  #define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \ | ||||
|    { \ | ||||
|      typedef char ATTRIBUTE_UNUSED \ | ||||
| -      static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ | ||||
| +      static_assert_3[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ | ||||
|      static const struct mips_mapped_int_operand op = { \ | ||||
|        { OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \ | ||||
|      }; \ | ||||
| @@ -83,7 +83,7 @@ | ||||
|  #define MAPPED_REG(SIZE, LSB, BANK, MAP) \ | ||||
|    { \ | ||||
|      typedef char ATTRIBUTE_UNUSED \ | ||||
| -      static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ | ||||
| +      static_assert_4[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ | ||||
|      static const struct mips_reg_operand op = { \ | ||||
|        { OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \ | ||||
|      }; \ | ||||
| @@ -93,7 +93,7 @@ | ||||
|  #define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \ | ||||
|    { \ | ||||
|      typedef char ATTRIBUTE_UNUSED \ | ||||
| -      static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ | ||||
| +      static_assert_5[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \ | ||||
|      static const struct mips_reg_operand op = { \ | ||||
|        { OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \ | ||||
|      }; \ | ||||
| @ -53,6 +53,8 @@ else | ||||
|   HOST_CONFIGURE_ARGS+= --without-python | ||||
| endif | ||||
|  | ||||
| HOST_CFLAGS += -std=gnu17 | ||||
|  | ||||
| define Host/Install | ||||
| 	mkdir -p $(TOOLCHAIN_DIR)/bin | ||||
| 	$(INSTALL_BIN) $(HOST_BUILD_DIR)/gdb/gdb $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb | ||||
|  | ||||
| @ -8,12 +8,12 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=b43-tools | ||||
| PKG_DATE:=2022-07-05 | ||||
| PKG_DATE:=2025-05-04 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/mbuesch/b43-tools.git | ||||
| PKG_SOURCE_VERSION:=2fe10ea6690df9a068cb21cde537236bae784a14 | ||||
| PKG_MIRROR_HASH:=4f1cde5da35a1e768f6a01d67888549d04512073990769342381af1b2c9e7fd2 | ||||
| PKG_SOURCE_VERSION:=cc352349153eeda9c164ecd0d06c161a59ec8753 | ||||
| PKG_MIRROR_HASH:=fcacb8a07ea425b2824a2d810b5a1e70b1b0bf16adcc62d1cdf96ffa75465dcf | ||||
|  | ||||
| include $(INCLUDE_DIR)/host-build.mk | ||||
|  | ||||
|  | ||||
							
								
								
									
										23
									
								
								tools/cpio/patches/cpio-c23.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								tools/cpio/patches/cpio-c23.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| --- a/src/extern.h | ||||
| +++ b/src/extern.h | ||||
| @@ -97,7 +97,8 @@ extern char input_is_special; | ||||
|  extern char output_is_special; | ||||
|  extern char input_is_seekable; | ||||
|  extern char output_is_seekable; | ||||
| -extern int (*xstat) (); | ||||
| +//void not good enough | ||||
| +extern int (*xstat) (const char * restrict,  struct stat * restrict); | ||||
|  extern void (*copy_function) (); | ||||
|  extern char *change_directory_option; | ||||
|   | ||||
| --- a/src/global.c | ||||
| +++ b/src/global.c | ||||
| @@ -185,7 +185,7 @@ bool to_stdout_option = false; | ||||
|   | ||||
|  /* A pointer to either lstat or stat, depending on whether | ||||
|     dereferencing of symlinks is done for input files.  */ | ||||
| -int (*xstat) (); | ||||
| +int (*xstat) (const char * restrict,  struct stat * restrict); | ||||
|   | ||||
|  /* Which copy operation to perform. (-i, -o, -p) */ | ||||
|  void (*copy_function) () = 0; | ||||
| @ -0,0 +1,38 @@ | ||||
| From 49fd04d77b3244c6c6990be41142168eef373aef Mon Sep 17 00:00:00 2001 | ||||
| From: Rudi Heitbaum <rudi@heitbaum.com> | ||||
| Date: Fri, 22 Nov 2024 12:36:32 +0000 | ||||
| Subject: [PATCH] libext2fs: fix -std=c23 build failure | ||||
|  | ||||
| gcc-15 switched to -std=c23 by default: | ||||
|  | ||||
|     https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212 | ||||
|  | ||||
| As a result `e2fsprogs` fails the build so only typedef int bool | ||||
| for __STDC_VERSION__ <= 201710L (C17) | ||||
|  | ||||
|     ../../../lib/ext2fs/tdb.c:113:13: error: two or more data types in declaration specifiers | ||||
|     ../../../lib/ext2fs/tdb.c:113:1: warning: useless type name in empty declaration | ||||
|       113 | typedef int bool; | ||||
|           | ^~~~~~~ | ||||
|  | ||||
| https://github.com/tytso/e2fsprogs/issues/202 | ||||
|  | ||||
| Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com> | ||||
| Link: https://lore.kernel.org/r/Z0B60JhdvT9bpSQ6@6f91903e89da | ||||
| Signed-off-by: Theodore Ts'o <tytso@mit.edu> | ||||
| --- | ||||
|  lib/ext2fs/tdb.c | 2 ++ | ||||
|  1 file changed, 2 insertions(+) | ||||
|  | ||||
| --- a/lib/ext2fs/tdb.c | ||||
| +++ b/lib/ext2fs/tdb.c | ||||
| @@ -110,7 +110,9 @@ static char *rep_strdup(const char *s) | ||||
|  #endif | ||||
|  #endif | ||||
|   | ||||
| +#if defined __STDC__ && defined __STDC_VERSION__ && __STDC_VERSION__ <= 201710L | ||||
|  typedef int bool; | ||||
| +#endif | ||||
|   | ||||
|  #include "tdb.h" | ||||
|   | ||||
| @ -19,6 +19,8 @@ PKG_INSTALL:=1 | ||||
|  | ||||
| include $(INCLUDE_DIR)/host-build.mk | ||||
|  | ||||
| HOST_CFLAGS +=-std=gnu17 | ||||
|  | ||||
| HOST_CONFIGURE_ARGS += \ | ||||
| 	--disable-debuginfod \ | ||||
| 	--disable-libdebuginfod \ | ||||
|  | ||||
| @ -0,0 +1,63 @@ | ||||
| From: Sergei Trofimovich <slyich@gmail.com> | ||||
| Date: Wed, 17 Jul 2024 22:03:34 +0000 (+0100) | ||||
| Subject: backends: allocate enough stace for null terminator | ||||
| X-Git-Tag: elfutils-0.192~64 | ||||
| X-Git-Url: https://sourceware.org/git/?p=elfutils.git;a=commitdiff_plain;h=7508696d107ca01b65ce8273c881462a8658f90f | ||||
|  | ||||
| backends: allocate enough stace for null terminator | ||||
|  | ||||
| `gcc-15` added a new warning in https://gcc.gnu.org/PR115185: | ||||
|  | ||||
|     i386_regs.c:88:11: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization] | ||||
|        88 |           "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" | ||||
|           |           ^~~~ | ||||
|  | ||||
| `elfutils` does not need to store '\0'. We could either initialize the | ||||
| arrays with individual bytes or allocate extra byte for null. | ||||
|  | ||||
| This change initializes the array bytewise. | ||||
|  | ||||
| 	* backends/i386_regs.c (i386_register_info): Initialize the | ||||
| 	array bytewise to fix gcc-15 warning. | ||||
| 	* backends/x86_64_regs.c (x86_64_register_info): Ditto. | ||||
|  | ||||
| Signed-off-by: Sergei Trofimovich <slyich@gmail.com> | ||||
| --- | ||||
|  | ||||
| --- a/backends/i386_regs.c | ||||
| +++ b/backends/i386_regs.c | ||||
| @@ -85,7 +85,15 @@ i386_register_info (Ebl *ebl __attribute | ||||
|      { | ||||
|        static const char baseregs[][2] = | ||||
|  	{ | ||||
| -	  "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" | ||||
| +	  {'a', 'x'}, | ||||
| +	  {'c', 'x'}, | ||||
| +	  {'d', 'x'}, | ||||
| +	  {'b', 'x'}, | ||||
| +	  {'s', 'p'}, | ||||
| +	  {'b', 'p'}, | ||||
| +	  {'s', 'i'}, | ||||
| +	  {'d', 'i'}, | ||||
| +	  {'i', 'p'}, | ||||
|  	}; | ||||
|   | ||||
|      case 4: | ||||
| --- a/backends/x86_64_regs.c | ||||
| +++ b/backends/x86_64_regs.c | ||||
| @@ -82,7 +82,14 @@ x86_64_register_info (Ebl *ebl __attribu | ||||
|      { | ||||
|        static const char baseregs[][2] = | ||||
|  	{ | ||||
| -	  "ax", "dx", "cx", "bx", "si", "di", "bp", "sp" | ||||
| +	  {'a', 'x'}, | ||||
| +	  {'d', 'x'}, | ||||
| +	  {'c', 'x'}, | ||||
| +	  {'b', 'x'}, | ||||
| +	  {'s', 'i'}, | ||||
| +	  {'d', 'i'}, | ||||
| +	  {'b', 'p'}, | ||||
| +	  {'s', 'p'}, | ||||
|  	}; | ||||
|   | ||||
|      case 6 ... 7: | ||||
							
								
								
									
										19
									
								
								tools/gmp/patches/001-acinclude-m4-fix-std23.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								tools/gmp/patches/001-acinclude-m4-fix-std23.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| # HG changeset patch | ||||
| # User Marc Glisse <marc.glisse@inria.fr> | ||||
| # Date 1738186682 -3600 | ||||
| #      Wed Jan 29 22:38:02 2025 +0100 | ||||
| # Node ID 8e7bb4ae7a18b1405ea7f9cbcda450b7d920a901 | ||||
| # Parent  e84c5c785bbe8ed8c3620194e50b65adfc2f5d83 | ||||
| Complete function prototype in acinclude.m4 for C23 compatibility | ||||
|  | ||||
| --- a/acinclude.m4 | ||||
| +++ b/acinclude.m4 | ||||
| @@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long | ||||
|   | ||||
|  #if defined (__GNUC__) && ! defined (__cplusplus) | ||||
|  typedef unsigned long long t1;typedef t1*t2; | ||||
| -void g(){} | ||||
| +void g(int,t1 const*,t1,t2,t1 const*,int){} | ||||
|  void h(){} | ||||
|  static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) | ||||
|  {t1 c,x,r;int i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return c;} | ||||
							
								
								
									
										22
									
								
								tools/gmp/patches/002-acinclude-m4-add-parameter-names.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tools/gmp/patches/002-acinclude-m4-add-parameter-names.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| # HG changeset patch | ||||
| # User Marc Glisse <marc.glisse@inria.fr> | ||||
| # Date 1743513946 -7200 | ||||
| #      Tue Apr 01 15:25:46 2025 +0200 | ||||
| # Node ID d66d66d82dbbe4f561920d28c1e1cbe6818452c7 | ||||
| # Parent  1a2ad0e32507e842486c8ac9d5cdc772fd0c335e | ||||
| Add parameter names to function prototype | ||||
|  | ||||
|  2025-02-01  Marc Glisse <marc.glisse@inria.fr> | ||||
|   | ||||
|  	* longlong.h (loongarch64 umul_ppmm): __int128__ -> __int128. | ||||
| --- a/acinclude.m4 | ||||
| +++ b/acinclude.m4 | ||||
| @@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long | ||||
|   | ||||
|  #if defined (__GNUC__) && ! defined (__cplusplus) | ||||
|  typedef unsigned long long t1;typedef t1*t2; | ||||
| -void g(int,t1 const*,t1,t2,t1 const*,int){} | ||||
| +void g(int a,t1 const*b,t1 c,t2 d,t1 const*e,int f){} | ||||
|  void h(){} | ||||
|  static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) | ||||
|  {t1 c,x,r;int i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return c;} | ||||
| @ -19,6 +19,7 @@ HOST_BUILD_PARALLEL:=1 | ||||
|  | ||||
| include $(INCLUDE_DIR)/host-build.mk | ||||
|  | ||||
| HOST_CFLAGS += -std=gnu17 | ||||
| HOST_CONFIGURE_VARS += gl_cv_func_strstr_linear=no | ||||
|  | ||||
| define Host/Uninstall | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Tianling Shen
					Tianling Shen