diff --git a/glibc-rh2026399.patch b/glibc-rh2026399.patch index 05d3e40..188d1c2 100644 --- a/glibc-rh2026399.patch +++ b/glibc-rh2026399.patch @@ -3,6 +3,41 @@ Emergency patch to disable EVEX-optimized strcmp. https://bugzilla.redhat.com/show_bug.cgi?id=2026399 https://sourceware.org/bugzilla/show_bug.cgi?id=28646 +diff --git a/sysdeps/x86_64/multiarch/ifunc-avx2.h b/sysdeps/x86_64/multiarch/ifunc-avx2.h +index 6de72f72724b81ba..43c4c307b1c7fbfd 100644 +--- a/sysdeps/x86_64/multiarch/ifunc-avx2.h ++++ b/sysdeps/x86_64/multiarch/ifunc-avx2.h +@@ -33,10 +33,6 @@ IFUNC_SELECTOR (void) + && CPU_FEATURE_USABLE_P (cpu_features, BMI2) + && CPU_FEATURES_ARCH_P (cpu_features, AVX_Fast_Unaligned_Load)) + { +- if (CPU_FEATURE_USABLE_P (cpu_features, AVX512VL) +- && CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)) +- return OPTIMIZE (evex); +- + if (CPU_FEATURE_USABLE_P (cpu_features, RTM)) + return OPTIMIZE (avx2_rtm); + +diff --git a/sysdeps/x86_64/multiarch/ifunc-evex.h b/sysdeps/x86_64/multiarch/ifunc-evex.h +index fc391edb8abc7d7f..0a3bc7bc10b83b95 100644 +--- a/sysdeps/x86_64/multiarch/ifunc-evex.h ++++ b/sysdeps/x86_64/multiarch/ifunc-evex.h +@@ -35,15 +35,6 @@ IFUNC_SELECTOR (void) + && CPU_FEATURE_USABLE_P (cpu_features, BMI2) + && CPU_FEATURES_ARCH_P (cpu_features, AVX_Fast_Unaligned_Load)) + { +- if (CPU_FEATURE_USABLE_P (cpu_features, AVX512VL) +- && CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)) +- { +- if (CPU_FEATURE_USABLE_P (cpu_features, RTM)) +- return OPTIMIZE (evex_rtm); +- +- return OPTIMIZE (evex); +- } +- + if (CPU_FEATURE_USABLE_P (cpu_features, RTM)) + return OPTIMIZE (avx2_rtm); + diff --git a/sysdeps/x86_64/multiarch/ifunc-memcmp.h b/sysdeps/x86_64/multiarch/ifunc-memcmp.h index 89e2129968e1e49c..47e6b64b67ad1685 100644 --- a/sysdeps/x86_64/multiarch/ifunc-memcmp.h diff --git a/glibc.spec b/glibc.spec index 2e55266..cb76ccd 100644 --- a/glibc.spec +++ b/glibc.spec @@ -151,7 +151,7 @@ end \ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 24%{?dist} +Release: 25%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -2262,6 +2262,9 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Sat Dec 4 2021 Florian Weimer - 2.34.9000-25 +- x86_64: Disable additional EVEX string functions (#2026399) + * Fri Dec 3 2021 Florian Weimer - 2.34.9000-24 - x86_64: Disable EVEX *cmp* string functions (#2026399)