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 */