[libdeflate] Fix gcc11.4 compilation error (#39237)

Fixes https://github.com/microsoft/vcpkg/issues/39207
Call upstream PR [366](https://github.com/ebiggers/libdeflate/pull/366)
to complete the fix.
This commit is contained in:
jim wang 2024-06-12 23:11:39 +00:00 committed by GitHub
parent 945c6d16d5
commit b64343a250
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 1 deletions

View File

@ -0,0 +1,21 @@
diff --git a/lib/x86/adler32_impl.h b/lib/x86/adler32_impl.h
index ba559e6..00967e8 100644
--- 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")

View File

@ -6,6 +6,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
remove_wrong_c_flags_modification.diff
fix_gcc.patch #https://github.com/ebiggers/libdeflate/pull/366
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS

View File

@ -1,6 +1,7 @@
{
"name": "libdeflate",
"version": "1.20",
"port-version": 1,
"description": "libdeflate is a library for fast, whole-buffer DEFLATE-based compression and decompression.",
"homepage": "https://github.com/ebiggers/libdeflate",
"license": "MIT",

View File

@ -4322,7 +4322,7 @@
},
"libdeflate": {
"baseline": "1.20",
"port-version": 0
"port-version": 1
},
"libdisasm": {
"baseline": "0.23",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3964afb8d5220a6fe2693f3cebdf85f83d3c0b1f",
"version": "1.20",
"port-version": 1
},
{
"git-tree": "021898704c19afd68d49fb56f26db8061e3c7957",
"version": "1.20",