From 595d2df62b049e463568ab97cfe26d6df96a18a9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 11 May 2020 11:28:12 -0700 Subject: 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. Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-10.1.inc | 1 + ...h64-Use-__getauxval-instead-of-getauxval-.patch | 47 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch diff --git a/meta/recipes-devtools/gcc/gcc-10.1.inc b/meta/recipes-devtools/gcc/gcc-10.1.inc index 8c7a13d0ce..245f0a6fdb 100644 --- a/meta/recipes-devtools/gcc/gcc-10.1.inc +++ b/meta/recipes-devtools/gcc/gcc-10.1.inc @@ -65,6 +65,7 @@ SRC_URI = "\ file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ file://0036-Enable-CET-in-cross-compiler-if-possible.patch \ file://0037-mingw32-Enable-operation_not_supported.patch \ + file://0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch \ " SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2" diff --git a/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch b/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch new file mode 100644 index 0000000000..fc9228277a --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch @@ -0,0 +1,47 @@ +From 2101fb718935c7cf1cc2ad201bdeb1e635b54b0a Mon Sep 17 00:00:00 2001 +From: Khem Raj +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 +--- + 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 + +-# 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 */ -- cgit 1.2.3-korg