diff options
Diffstat (limited to 'poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch')
-rw-r--r-- | poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-Revert-AArch64-Use-__getauxval-instead-of-getauxval-.patch new file mode 100644 index 000000000..fc9228277 --- /dev/null +++ b/poky/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 <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 */ |