Auto-sync with upstream branch master

Upstream commit: 4df1fa6ddc8925a75f3da644d5da3bb16eb33f02

- x86-64: Use notl in EVEX strcmp (#2026399)
- nptl: Increase default TCB alignment to 32
- elf: add definition for ELF_NOTE_FDO and NT_FDO_PACKAGING_METADATA note
- AArch64: Improve A64FX memcpy
- AArch64: Optimize memcmp
- powerpc64[le]: Fix CFI and LR save address for asm syscalls [BZ #28532]
- linux: Implement pipe in terms of __NR_pipe2
- linux: Implement mremap in C
- linux: Add prlimit64 C implementation
- elf: Include <stdbool.h> in tst-tls20.c
- elf: Include <stdint.h> in tst-tls20.c
- hurd: Let report-wait use a weak reference to _hurd_itimer_thread
This commit is contained in:
Florian Weimer 2021-12-04 10:20:21 +01:00
parent 11567e7d20
commit ae249dabba
3 changed files with 20 additions and 106 deletions

View File

@ -1,102 +0,0 @@
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
+++ 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);

View File

@ -1,4 +1,4 @@
%define glibcsrcdir glibc-2.34.9000-314-g137ed5ac44
%define glibcsrcdir glibc-2.34.9000-326-g4df1fa6ddc
%define glibcversion 2.34.9000
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
@ -151,7 +151,7 @@ end \
Summary: The GNU libc libraries
Name: glibc
Version: %{glibcversion}
Release: 25%{?dist}
Release: 26%{?dist}
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
# libraries.
@ -230,7 +230,6 @@ 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:
@ -2262,6 +2261,23 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog
* Sat Dec 04 2021 Florian Weimer <fweimer@redhat.com> - 2.34.9000-26
- Drop glibc-rh2026399.patch, not needed anymore due to upstream fix.
- Auto-sync with upstream branch master,
commit 4df1fa6ddc8925a75f3da644d5da3bb16eb33f02:
- x86-64: Use notl in EVEX strcmp (#2026399)
- nptl: Increase default TCB alignment to 32
- elf: add definition for ELF_NOTE_FDO and NT_FDO_PACKAGING_METADATA note
- AArch64: Improve A64FX memcpy
- AArch64: Optimize memcmp
- powerpc64[le]: Fix CFI and LR save address for asm syscalls [BZ #28532]
- linux: Implement pipe in terms of __NR_pipe2
- linux: Implement mremap in C
- linux: Add prlimit64 C implementation
- elf: Include <stdbool.h> in tst-tls20.c
- elf: Include <stdint.h> in tst-tls20.c
- hurd: Let report-wait use a weak reference to _hurd_itimer_thread
* Sat Dec 4 2021 Florian Weimer <fweimer@redhat.com> - 2.34.9000-25
- x86_64: Disable additional EVEX string functions (#2026399)

View File

@ -1 +1 @@
SHA512 (glibc-2.34.9000-314-g137ed5ac44.tar.xz) = 93ed3499a0223ca22dc18307164c1c0c6869488587b82a998228e8baf29b1bcc049ffb5f7029b47882f64c89b7b84c7b90122ad8cc48c1744a0abd97a5045455
SHA512 (glibc-2.34.9000-326-g4df1fa6ddc.tar.xz) = 078d9f4a7becaa1c904866359ec49d694b4d781a24e59314294ffd00bd0241b1f8de3e45dc086d624d6ac89f4d81da4f662e2fd0b0844831666bba6f8c059e0f