sync from glibc upstream 2.38 branch

- misc: Add support for Linux uio.h RWF_NOAPPEND flag
- Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782)

(cherry picked from commit 1108228f750d2bfa9e9b66888ef037f7a30cfd1a)
This commit is contained in:
liqingqing_1229 2024-06-05 15:08:55 +08:00 committed by openeuler-sync-bot
parent 18c72e314f
commit 9163cd6ddb
3 changed files with 150 additions and 1 deletions

View File

@ -67,7 +67,7 @@
############################################################################## ##############################################################################
Name: glibc Name: glibc
Version: 2.38 Version: 2.38
Release: 29 Release: 30
Summary: The GNU libc libraries Summary: The GNU libc libraries
License: %{all_license} License: %{all_license}
URL: http://www.gnu.org/software/glibc/ URL: http://www.gnu.org/software/glibc/
@ -198,6 +198,8 @@ Patch108: 0024-elf-Also-compile-dl-misc.os-with-rtld-early-cflags.patch
Patch109: 0025-nscd-Use-time_t-for-return-type-of-addgetnetgrentX.patch Patch109: 0025-nscd-Use-time_t-for-return-type-of-addgetnetgrentX.patch
Patch110: 0026-resolv-Fix-some-unaligned-accesses-in-resolver-BZ-30.patch Patch110: 0026-resolv-Fix-some-unaligned-accesses-in-resolver-BZ-30.patch
Patch111: Force-DT_RPATH-for-enable-hardcoded-path-in-tests.patch Patch111: Force-DT_RPATH-for-enable-hardcoded-path-in-tests.patch
Patch112: i386-Disable-Intel-Xeon-Phi-tests-for-GCC-15-and-abo.patch
Patch113: misc-Add-support-for-Linux-uio.h-RWF_NOAPPEND-flag.patch
#openEuler patch list #openEuler patch list
Patch9000: turn-default-value-of-x86_rep_stosb_threshold_form_2K_to_1M.patch Patch9000: turn-default-value-of-x86_rep_stosb_threshold_form_2K_to_1M.patch
@ -1421,6 +1423,10 @@ fi
%endif %endif
%changelog %changelog
* Wed Jun 5 Qingqing Li <liqingqing3@huawei.com> - 2.38-30
- misc: Add support for Linux uio.h RWF_NOAPPEND flag
- Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782)
* Mon May 13 Qingqing Li <liqingqing3@huawei.com> - 2.38-29 * Mon May 13 Qingqing Li <liqingqing3@huawei.com> - 2.38-29
- Force DT_RPATH for --enable-hardcoded-path-in-tests - Force DT_RPATH for --enable-hardcoded-path-in-tests

View File

@ -0,0 +1,68 @@
From 697ab62d1176180bea49094130ad0af2b108874d Mon Sep 17 00:00:00 2001
From: Sunil K Pandey <skpgkp2@gmail.com>
Date: Mon, 27 May 2024 10:08:18 -0700
Subject: [PATCH 1/2] i386: Disable Intel Xeon Phi tests for GCC 15 and above
(BZ 31782)
This patch disables Intel Xeon Phi tests for GCC 15 and above.
GCC 15 removed Intel Xeon Phi ISA support.
commit e1a7e2c54d52d0ba374735e285b617af44841ace
Author: Haochen Jiang <haochen.jiang@intel.com>
Date: Mon May 20 10:43:44 2024 +0800
i386: Remove Xeon Phi ISA support
Fixes BZ 31782.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 1b713c9a5349ef3cd1a8ccf9de017c7865713c67)
---
sysdeps/x86/tst-cpu-features-supports.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sysdeps/x86/tst-cpu-features-supports.c b/sysdeps/x86/tst-cpu-features-supports.c
index 32daf51053..f85356b589 100644
--- a/sysdeps/x86/tst-cpu-features-supports.c
+++ b/sysdeps/x86/tst-cpu-features-supports.c
@@ -65,7 +65,7 @@ do_test (int argc, char **argv)
#endif
fails += CHECK_FEATURE_ACTIVE (avx, AVX);
fails += CHECK_FEATURE_ACTIVE (avx2, AVX2);
-#if __GNUC_PREREQ (7, 0)
+#if __GNUC_PREREQ (7, 0) && !__GNUC_PREREQ (15, 0)
fails += CHECK_FEATURE_ACTIVE (avx5124fmaps, AVX512_4FMAPS);
fails += CHECK_FEATURE_ACTIVE (avx5124vnniw, AVX512_4VNNIW);
#endif
@@ -92,14 +92,18 @@ do_test (int argc, char **argv)
#if __GNUC_PREREQ (6, 0)
fails += CHECK_FEATURE_ACTIVE (avx512bw, AVX512BW);
fails += CHECK_FEATURE_ACTIVE (avx512cd, AVX512CD);
+# if !__GNUC_PREREQ (15, 0)
fails += CHECK_FEATURE_ACTIVE (avx512er, AVX512ER);
+# endif
fails += CHECK_FEATURE_ACTIVE (avx512dq, AVX512DQ);
#endif
#if __GNUC_PREREQ (5, 0)
fails += CHECK_FEATURE_ACTIVE (avx512f, AVX512F);
#endif
#if __GNUC_PREREQ (6, 0)
+# if !__GNUC_PREREQ (15, 0)
fails += CHECK_FEATURE_ACTIVE (avx512pf, AVX512PF);
+# endif
fails += CHECK_FEATURE_ACTIVE (avx512vl, AVX512VL);
#endif
#if __GNUC_PREREQ (5, 0)
@@ -148,7 +152,9 @@ do_test (int argc, char **argv)
#endif
fails += CHECK_FEATURE_ACTIVE (popcnt, POPCNT);
#if __GNUC_PREREQ (11, 0)
+# if !__GNUC_PREREQ (15, 0)
fails += CHECK_FEATURE_ACTIVE (prefetchwt1, PREFETCHWT1);
+# endif
fails += CHECK_FEATURE_ACTIVE (ptwrite, PTWRITE);
fails += CHECK_FEATURE_ACTIVE (rdpid, RDPID);
fails += CHECK_FEATURE_ACTIVE (rdrnd, RDRAND);
--
2.33.0

View File

@ -0,0 +1,75 @@
From c8cb4d2b86ece572793e31a3422ea29e88d77df5 Mon Sep 17 00:00:00 2001
From: Stafford Horne <shorne@gmail.com>
Date: Wed, 3 Apr 2024 06:40:37 +0100
Subject: [PATCH 2/2] misc: Add support for Linux uio.h RWF_NOAPPEND flag
In Linux 6.9 a new flag is added to allow for Per-io operations to
disable append mode even if a file was opened with the flag O_APPEND.
This is done with the new RWF_NOAPPEND flag.
This caused two test failures as these tests expected the flag 0x00000020
to be unused. Adding the flag definition now fixes these tests on Linux
6.9 (v6.9-rc1).
FAIL: misc/tst-preadvwritev2
FAIL: misc/tst-preadvwritev64v2
This patch adds the flag, adjusts the test and adds details to
documentation.
Link: https://lore.kernel.org/all/20200831153207.GO3265@brightrain.aerifal.cx/
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
(cherry picked from commit 3db9d208dd5f30b12900989c6d2214782b8e2011)
---
manual/llio.texi | 4 ++++
misc/tst-preadvwritev2-common.c | 5 ++++-
sysdeps/unix/sysv/linux/bits/uio-ext.h | 1 +
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/manual/llio.texi b/manual/llio.texi
index 0b61d491f5..fae49d1433 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -1339,6 +1339,10 @@ will fail and set @code{errno} to @code{EAGAIN} if the operation would block.
@item RWF_APPEND
Per-IO synchronization as if the file was opened with @code{O_APPEND} flag.
+
+@item RWF_NOAPPEND
+This flag allows an offset to be honored, even if the file was opened with
+@code{O_APPEND} flag.
@end vtable
When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the
diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c
index 355dbea05c..0d3729eac0 100644
--- a/misc/tst-preadvwritev2-common.c
+++ b/misc/tst-preadvwritev2-common.c
@@ -34,8 +34,11 @@
#ifndef RWF_APPEND
# define RWF_APPEND 0
#endif
+#ifndef RWF_NOAPPEND
+# define RWF_NOAPPEND 0
+#endif
#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT \
- | RWF_APPEND)
+ | RWF_APPEND | RWF_NOAPPEND)
/* Generic uio_lim.h does not define IOV_MAX. */
#ifndef IOV_MAX
diff --git a/sysdeps/unix/sysv/linux/bits/uio-ext.h b/sysdeps/unix/sysv/linux/bits/uio-ext.h
index 311f5b16ce..d641f57b01 100644
--- a/sysdeps/unix/sysv/linux/bits/uio-ext.h
+++ b/sysdeps/unix/sysv/linux/bits/uio-ext.h
@@ -47,6 +47,7 @@ extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec,
#define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */
#define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */
#define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */
+#define RWF_NOAPPEND 0x00000020 /* per-IO negation of O_APPEND */
__END_DECLS
--
2.33.0