summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-05-22 21:45:29 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-25 22:36:08 +0100
commitd7daabfbd794a84c1d36311b6ed99f54f24246ce (patch)
tree13b3d3fc206b2e4c9312bc98885ebeeb1f8fb2d4 /meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch
parentc23a25e60791b463639751b516ab63a0347a70df (diff)
downloadpoky-d7daabfbd794a84c1d36311b6ed99f54f24246ce.tar.gz
glibc: Update to latest 2.33 branch
Drop backported patches Add CVE-2021-27645 to CVE_CHECK_WHITELIST and drop the patch as its also upstreamed Changes in the version bump are * 3f5080aedd nptl: Do not build nptl/tst-pthread-gdb-attach as PIE * 36783141cf nptl: Check for compatible GDB in nptl/tst-pthread-gdb-attach * ea299b62e8 nptl_db: Support different libpthread/ld.so load orders (bug 27744) * 162df872f0 x86: tst-cpu-features-supports.c: Update AMX check * 12ff80b312 Remove PR_TAGGED_ADDR_ENABLE from sys/prctl.h * 1bf38e7260 Fix SXID_ERASE behavior in setuid programs (BZ #27471) * a7b8e8ec9b Enhance setuid-tunables test * ee16c81063 tst-env-setuid: Use support_capture_subprogram_self_sgid * 267e174f19 support: Add capability to fork an sgid child * 249c486ce8 support: Pass environ to child process * 45b2c57d34 support: Typo and formatting fixes * e07abf59b2 tunables: Fix comparison of tunable values * 3e9ca60a58 linux: always update select timeout (BZ #27706) * 8380ca5833 linux: Normalize and return timeout on select (BZ #27651) * 85e4dc415a libsupport: Add support_select_normalizes_timeout * b5b4aa62c1 libsupport: Add support_select_modifies_timeout * 3d525dd639 misc: Fix tst-select timeout handling (BZ#27648) * 830674605f tst: Provide test for select * e78ea9bd26 Update Nios II libm-test-ulps. * 98bb18f52a malloc: Fix a realloc crash with heap tagging [BZ 27468] * fc4ecce85b S390: Also check vector support in memmove ifunc-selector [BZ #27511] * db32fc27e7 test-container: Always copy test-specific support files [BZ #27537] * 79c6be6a0a nptl: Remove private futex optimization [BZ #27304] * f90d6b0484 pthread_once hangs when init routine throws an exception [BZ #18435] * dd8023c2ac elf: ld.so --help calls _dl_init_paths without a main map [BZ #27577] * ea5a537e87 elf: Always set l in _dl_init_paths (bug 23462) * 64f6c287ad x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] * 32b9280f1d io: Return EBAFD for negative file descriptor on fstat (BZ #27559) * a151f2e05a nscd: Fix double free in netgroupcache [BZ #27462] * ee9f98d9ca x86: Set minimum x86-64 level marker [BZ #27318] * 3e880d7337 nss: Re-enable NSS module loading after chroot [BZ #27389] * 71b2463f61 x86: Add CPU-specific diagnostics to ld.so --list-diagnostics * a1eb3915e7 x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield * 33dc1dd602 ld.so: Implement the --list-diagnostics option * 8d4241b897 string: Work around GCC PR 98512 in rawmemchr * 6efa2d44c8 S390: Add new hwcap values. * c5e3545897 tunables: Disallow negative values for some tunables * 905fdc7071 x86: Use SIZE_MAX instead of (long int)-1 for tunable range value * 15afd6b8d8 tunables: Simplify TUNABLE_SET interface * 17f0ff0978 nsswitch: return result when nss database is locked [BZ #27343] (From OE-Core rev: c6fb9b80ecb0a4e7970157774ce9add12e9ef3ea) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch')
-rw-r--r--meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch116
1 files changed, 0 insertions, 116 deletions
diff --git a/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch b/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch
deleted file mode 100644
index 3cb60b2e55..0000000000
--- a/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch
+++ /dev/null
@@ -1,116 +0,0 @@
1From b1971f6f1331d738d1d6b376b4741668a7546125 Mon Sep 17 00:00:00 2001
2From: "H.J. Lu" <hjl.tools@gmail.com>
3Date: Tue, 2 Feb 2021 13:45:58 -0800
4Subject: [PATCH] x86: Require full ISA support for x86-64 level marker [BZ #27318]
5
6Since -march=sandybridge enables ISAs in x86-64 ISA level v3, the v3
7marker is set on libc.so. We couldn't set the needed ISA marker to v2
8since this libc won't run on all v2 machines. Technically, the v3 marker
9is correct. But the resulting libc.so won't run on Sandy Brigde, which
10is a v2 machine, even when libc is compiled with -march=sandybridge:
11
12$ ./elf/ld.so ./libc.so
13./libc.so: (p) CPU ISA level is lower than required: needed: 7; got: 3
14
15Instead, we require full ISA support for x86-64 level marker and disable
16x86-64 level marker for -march=sandybridge which enables ISAs between v2
17and v3.
18
19Upstream-Status: Submitted [https://sourceware.org/pipermail/libc-alpha/2021-February/122297.html]
20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21---
22
23 sysdeps/x86/configure | 7 ++++++-
24 sysdeps/x86/configure.ac | 2 +-
25 sysdeps/x86/isa-level.c | 21 ++++++++++++++++++++-
26 3 files changed, 27 insertions(+), 3 deletions(-)
27
28diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure
29index 5e32dc62b3..5b20646843 100644
30--- a/sysdeps/x86/configure
31+++ b/sysdeps/x86/configure
32@@ -133,7 +133,12 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest c
33 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
34 test $ac_status = 0; }; }; then
35 count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l`
36- if test "$count" = 1; then
37+ if test "$count" = 1 && { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c'
38+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
39+ (eval $ac_try) 2>&5
40+ ac_status=$?
41+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
42+ test $ac_status = 0; }; }; then
43 libc_cv_include_x86_isa_level=yes
44 fi
45 fi
46diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
47index f94088f377..54ecd33d2c 100644
48--- a/sysdeps/x86/configure.ac
49+++ b/sysdeps/x86/configure.ac
50@@ -100,7 +100,7 @@ EOF
51 libc_cv_include_x86_isa_level=no
52 if AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest conftest1.S conftest2.S); then
53 count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l`
54- if test "$count" = 1; then
55+ if test "$count" = 1 && AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c); then
56 libc_cv_include_x86_isa_level=yes
57 fi
58 fi
59diff --git a/sysdeps/x86/isa-level.c b/sysdeps/x86/isa-level.c
60index aaf524cb56..7f83449061 100644
61--- a/sysdeps/x86/isa-level.c
62+++ b/sysdeps/x86/isa-level.c
63@@ -25,12 +25,17 @@
64 License along with the GNU C Library; if not, see
65 <https://www.gnu.org/licenses/>. */
66
67-#include <elf.h>
68+#ifdef _LIBC
69+# include <elf.h>
70+#endif
71
72 /* ELF program property for x86 ISA level. */
73 #ifdef INCLUDE_X86_ISA_LEVEL
74 # if defined __x86_64__ || defined __FXSR__ || !defined _SOFT_FLOAT \
75 || defined __MMX__ || defined __SSE__ || defined __SSE2__
76+# if !defined __SSE__ || !defined __SSE2__
77+# error "Missing ISAs for x86-64 ISA level baseline"
78+# endif
79 # define ISA_BASELINE GNU_PROPERTY_X86_ISA_1_BASELINE
80 # else
81 # define ISA_BASELINE 0
82@@ -40,6 +45,11 @@
83 || (defined __x86_64__ && defined __LAHF_SAHF__) \
84 || defined __POPCNT__ || defined __SSE3__ \
85 || defined __SSSE3__ || defined __SSE4_1__ || defined __SSE4_2__
86+# if !defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 \
87+ || !defined __POPCNT__ || !defined __SSE3__ \
88+ || !defined __SSSE3__ || !defined __SSE4_1__ || !defined __SSE4_2__
89+# error "Missing ISAs for x86-64 ISA level v2"
90+# endif
91 # define ISA_V2 GNU_PROPERTY_X86_ISA_1_V2
92 # else
93 # define ISA_V2 0
94@@ -48,6 +58,10 @@
95 # if defined __AVX__ || defined __AVX2__ || defined __F16C__ \
96 || defined __FMA__ || defined __LZCNT__ || defined __MOVBE__ \
97 || defined __XSAVE__
98+# if !defined __AVX__ || !defined __AVX2__ || !defined __F16C__ \
99+ || !defined __FMA__ || !defined __LZCNT__
100+# error "Missing ISAs for x86-64 ISA level v3"
101+# endif
102 # define ISA_V3 GNU_PROPERTY_X86_ISA_1_V3
103 # else
104 # define ISA_V3 0
105@@ -55,6 +69,11 @@
106
107 # if defined __AVX512F__ || defined __AVX512BW__ || defined __AVX512CD__ \
108 || defined __AVX512DQ__ || defined __AVX512VL__
109+# if !defined __AVX512F__ || !defined __AVX512BW__ \
110+ || !defined __AVX512CD__ || !defined __AVX512DQ__ \
111+ || !defined __AVX512VL__
112+# error "Missing ISAs for x86-64 ISA level v4"
113+# endif
114 # define ISA_V4 GNU_PROPERTY_X86_ISA_1_V4
115 # else
116 # define ISA_V4 0