From 0b05cc70480af9056f2d1c1efdd464163c50a05a Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Sun, 6 Oct 2024 21:42:23 +0200 Subject: [PATCH] tools: libdeflate: bump to 1.22 Bump to the latest 1.22 version which allows dropping our only patch. Changelog: Version 1.22 * The CMake-based build system now implements a workaround for gcc being paired with a too-old binutils version. This can prevent build errors. Version 1.21 * Fixed build error on x86 with gcc 8.1 and gcc 8.2. * Fixed build error on x86 when gcc 11 is paired with a binutils version that doesn't support AVX-VNNI, e.g. as it is on RHEL 9. * Fixed build error on arm64 with gcc 6. * Fixed build error on arm64 with gcc 13.1 and later with some -mcpu options. * Enabled detection of dotprod support in Windows ARM64 builds. Link: https://github.com/openwrt/openwrt/pull/16617 Signed-off-by: Robert Marko --- tools/libdeflate/Makefile | 6 ++-- ...se-AVX-VNNI-gcc-prerequisite-to-12.1.patch | 32 ------------------- 2 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 tools/libdeflate/patches/0001-lib-x86-increase-AVX-VNNI-gcc-prerequisite-to-12.1.patch diff --git a/tools/libdeflate/Makefile b/tools/libdeflate/Makefile index 6bf25d134d..8f7946d90e 100644 --- a/tools/libdeflate/Makefile +++ b/tools/libdeflate/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libdeflate -PKG_VERSION:=1.20 -PKG_RELEASE:=2 +PKG_VERSION:=1.22 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/ebiggers/libdeflate/releases/download/v$(PKG_VERSION) -PKG_HASH:=c52cf0239fd644d71c9e88613dd7431a5306ebee1280c5791c71ca264869250a +PKG_HASH:=7834d9adbc9a809e0fb0d7b486060a9ae5f7819eb7f55bb8c22b10d7b3bed8da include $(INCLUDE_DIR)/host-build.mk diff --git a/tools/libdeflate/patches/0001-lib-x86-increase-AVX-VNNI-gcc-prerequisite-to-12.1.patch b/tools/libdeflate/patches/0001-lib-x86-increase-AVX-VNNI-gcc-prerequisite-to-12.1.patch deleted file mode 100644 index ea4f4dc4c1..0000000000 --- a/tools/libdeflate/patches/0001-lib-x86-increase-AVX-VNNI-gcc-prerequisite-to-12.1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e522b1d09d3536ddc15459b4259150f4a53ee65a Mon Sep 17 00:00:00 2001 -From: Eric Biggers -Date: Thu, 4 Apr 2024 20:16:33 -0400 -Subject: [PATCH] lib/x86: increase AVX-VNNI gcc prerequisite to 12.1 - -Although gcc 11.1 supports AVX-VNNI, a popular distro pairs it with a -binutils version that does not. Require gcc 12 instead. - -Resolves https://github.com/ebiggers/libdeflate/issues/365 ---- - lib/x86/adler32_impl.h | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - ---- a/lib/x86/adler32_impl.h -+++ b/lib/x86/adler32_impl.h -@@ -52,8 +52,15 @@ - /* - * AVX-VNNI implementation. This is used on CPUs that have AVX2 and AVX-VNNI - * but don't have AVX-512, for example Intel Alder Lake. -+ * -+ * Unusually for a new CPU feature, gcc added support for the AVX-VNNI -+ * intrinsics (in gcc 11.1) slightly before binutils added support for -+ * assembling AVX-VNNI instructions (in binutils 2.36). Distros can reasonably -+ * have gcc 11 with binutils 2.35. Because of this issue, we check for gcc 12 -+ * instead of gcc 11. (libdeflate supports direct compilation without a -+ * configure step, so checking the binutils version is not always an option.) - */ --#if GCC_PREREQ(11, 1) || CLANG_PREREQ(12, 0, 13000000) || MSVC_PREREQ(1930) -+#if GCC_PREREQ(12, 1) || CLANG_PREREQ(12, 0, 13000000) || MSVC_PREREQ(1930) - # define adler32_x86_avx2_vnni adler32_x86_avx2_vnni - # define SUFFIX _avx2_vnni - # define ATTRIBUTES _target_attribute("avx2,avxvnni")