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
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: %{glibcversion}
|
Version: %{glibcversion}
|
||||||
Release: 23%{?dist}
|
Release: 24%{?dist}
|
||||||
|
|
||||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||||
# libraries.
|
# libraries.
|
||||||
@ -230,6 +230,7 @@ Patch29: glibc-fedora-nsswitch.patch
|
|||||||
Patch30: glibc-deprecated-selinux-makedb.patch
|
Patch30: glibc-deprecated-selinux-makedb.patch
|
||||||
Patch31: glibc-deprecated-selinux-nscd.patch
|
Patch31: glibc-deprecated-selinux-nscd.patch
|
||||||
Patch33: glibc-dso-sort-makefile-fail.patch
|
Patch33: glibc-dso-sort-makefile-fail.patch
|
||||||
|
Patch34: glibc-rh2026399.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Continued list of core "glibc" package information:
|
# Continued list of core "glibc" package information:
|
||||||
@ -2261,6 +2262,9 @@ fi
|
|||||||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Dec 2 2021 Florian Weimer <fweimer@redhat.com> - 2.34.9000-23
|
||||||
- Drop glibc-sdt-headers.patch; the official systemtap headers work again.
|
- Drop glibc-sdt-headers.patch; the official systemtap headers work again.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user