x86_64: Disable EVEX *cmp* string functions (#2026399)
This commit is contained in:
parent
ba4df9283b
commit
3717b5ea10
67
glibc-rh2026399.patch
Normal file
67
glibc-rh2026399.patch
Normal file
@ -0,0 +1,67 @@
|
||||
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-memcmp.h b/sysdeps/x86_64/multiarch/ifunc-memcmp.h
|
||||
index 89e2129968e1e49c..47e6b64b67ad1685 100644
|
||||
--- a/sysdeps/x86_64/multiarch/ifunc-memcmp.h
|
||||
+++ b/sysdeps/x86_64/multiarch/ifunc-memcmp.h
|
||||
@@ -36,10 +36,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_movbe);
|
||||
-
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
|
||||
return OPTIMIZE (avx2_movbe_rtm);
|
||||
|
||||
diff --git a/sysdeps/x86_64/multiarch/ifunc-memcmpeq.h b/sysdeps/x86_64/multiarch/ifunc-memcmpeq.h
|
||||
index 2ea38adf05777281..1a2cff77c861bee8 100644
|
||||
--- a/sysdeps/x86_64/multiarch/ifunc-memcmpeq.h
|
||||
+++ b/sysdeps/x86_64/multiarch/ifunc-memcmpeq.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 OPTIMIZE1 (evex);
|
||||
-
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
|
||||
return OPTIMIZE1 (avx2_rtm);
|
||||
|
||||
diff --git a/sysdeps/x86_64/multiarch/strcmp.c b/sysdeps/x86_64/multiarch/strcmp.c
|
||||
index 7c2901bf44456259..7cdfce1d7a4f562e 100644
|
||||
--- a/sysdeps/x86_64/multiarch/strcmp.c
|
||||
+++ b/sysdeps/x86_64/multiarch/strcmp.c
|
||||
@@ -41,11 +41,6 @@ IFUNC_SELECTOR (void)
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, AVX2)
|
||||
&& 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)
|
||||
- && CPU_FEATURE_USABLE_P (cpu_features, BMI2))
|
||||
- return OPTIMIZE (evex);
|
||||
-
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
|
||||
return OPTIMIZE (avx2_rtm);
|
||||
|
||||
diff --git a/sysdeps/x86_64/multiarch/strncmp.c b/sysdeps/x86_64/multiarch/strncmp.c
|
||||
index f94a421784bfe923..c3e34def9fc8fb93 100644
|
||||
--- a/sysdeps/x86_64/multiarch/strncmp.c
|
||||
+++ b/sysdeps/x86_64/multiarch/strncmp.c
|
||||
@@ -41,11 +41,6 @@ IFUNC_SELECTOR (void)
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, AVX2)
|
||||
&& 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)
|
||||
- && CPU_FEATURE_USABLE_P (cpu_features, BMI2))
|
||||
- return OPTIMIZE (evex);
|
||||
-
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
|
||||
return OPTIMIZE (avx2_rtm);
|
||||
|
@ -151,7 +151,7 @@ end \
|
||||
Summary: The GNU libc libraries
|
||||
Name: glibc
|
||||
Version: %{glibcversion}
|
||||
Release: 23%{?dist}
|
||||
Release: 24%{?dist}
|
||||
|
||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||
# libraries.
|
||||
@ -230,6 +230,7 @@ Patch29: glibc-fedora-nsswitch.patch
|
||||
Patch30: glibc-deprecated-selinux-makedb.patch
|
||||
Patch31: glibc-deprecated-selinux-nscd.patch
|
||||
Patch33: glibc-dso-sort-makefile-fail.patch
|
||||
Patch34: glibc-rh2026399.patch
|
||||
|
||||
##############################################################################
|
||||
# Continued list of core "glibc" package information:
|
||||
@ -2261,6 +2262,9 @@ fi
|
||||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||
|
||||
%changelog
|
||||
* Fri Dec 3 2021 Florian Weimer <fweimer@redhat.com> - 2.34.9000-24
|
||||
- x86_64: Disable EVEX *cmp* string functions (#2026399)
|
||||
|
||||
* Thu Dec 2 2021 Florian Weimer <fweimer@redhat.com> - 2.34.9000-23
|
||||
- Drop glibc-sdt-headers.patch; the official systemtap headers work again.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user