mirror of
https://git.yoctoproject.org/poky
synced 2026-09-24 13:36:22 +02:00
gcc10: Revert using __getauxval in libgcc
This was added recently, but it seems be chewing more than what it should and causes non glibc packages also depend on it. (From OE-Core rev: 595d2df62b049e463568ab97cfe26d6df96a18a9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -65,6 +65,7 @@ SRC_URI = "\
|
|||||||
file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
|
file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
|
||||||
file://0036-Enable-CET-in-cross-compiler-if-possible.patch \
|
file://0036-Enable-CET-in-cross-compiler-if-possible.patch \
|
||||||
file://0037-mingw32-Enable-operation_not_supported.patch \
|
file://0037-mingw32-Enable-operation_not_supported.patch \
|
||||||
|
file://0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2"
|
SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
From 2101fb718935c7cf1cc2ad201bdeb1e635b54b0a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Mon, 11 May 2020 11:03:41 -0700
|
||||||
|
Subject: [PATCH] Revert "[AArch64] Use __getauxval instead of getauxval in LSE
|
||||||
|
detection code in libgcc"
|
||||||
|
|
||||||
|
This reverts commit 5a57016dd2758cc63a544f191f77635342397a72.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
libgcc/config/aarch64/lse-init.c | 17 ++++++++---------
|
||||||
|
1 file changed, 8 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
|
||||||
|
index 00e9ab8cd1c..74acef25cce 100644
|
||||||
|
--- a/libgcc/config/aarch64/lse-init.c
|
||||||
|
+++ b/libgcc/config/aarch64/lse-init.c
|
||||||
|
@@ -29,20 +29,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
_Bool __aarch64_have_lse_atomics
|
||||||
|
__attribute__((visibility("hidden"), nocommon));
|
||||||
|
|
||||||
|
-/* Gate availability of __getauxval on glibc. All AArch64-supporting glibc
|
||||||
|
- versions support it. */
|
||||||
|
-#ifdef __gnu_linux__
|
||||||
|
+/* Disable initialization of __aarch64_have_lse_atomics during bootstrap. */
|
||||||
|
+#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
|
||||||
|
+# include <sys/auxv.h>
|
||||||
|
|
||||||
|
-# define AT_HWCAP 16
|
||||||
|
-# define HWCAP_ATOMICS (1 << 8)
|
||||||
|
-
|
||||||
|
-unsigned long int __getauxval (unsigned long int);
|
||||||
|
+/* Disable initialization if the system headers are too old. */
|
||||||
|
+# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
|
||||||
|
|
||||||
|
static void __attribute__((constructor))
|
||||||
|
init_have_lse_atomics (void)
|
||||||
|
{
|
||||||
|
- unsigned long hwcap = __getauxval (AT_HWCAP);
|
||||||
|
+ unsigned long hwcap = getauxval (AT_HWCAP);
|
||||||
|
__aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#endif /* __gnu_linux__ */
|
||||||
|
+# endif /* HWCAP */
|
||||||
|
+#endif /* inhibit_libc */
|
||||||
Reference in New Issue
Block a user