diff options
Diffstat (limited to 'libatomic/configure.tgt')
-rw-r--r-- | libatomic/configure.tgt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index b8af3ab2546..388ae95e6f4 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -40,6 +40,14 @@ case "${target_cpu}" in riscv*) ARCH=riscv ;; sh*) ARCH=sh ;; + aarch64*) + ARCH=aarch64 + case "${target}" in + aarch64*-*-linux*) + try_ifunc=yes + ;; + esac + ;; arm*) ARCH=arm case "${target}" in @@ -109,6 +117,11 @@ fi # Other system configury case "${target}" in + aarch64*-*-linux*) + # OS support for atomic primitives. + config_path="${config_path} linux/aarch64 posix" + ;; + arm*-*-linux*) # OS support for atomic primitives. config_path="${config_path} linux/arm posix" @@ -153,3 +166,14 @@ case "${target}" in UNSUPPORTED=1 ;; esac + +# glibc will pass hwcap to ifunc resolver functions as an argument. +# The type may be different on different architectures. +case "${target}" in + aarch64*-*-*) + IFUNC_RESOLVER_ARGS="uint64_t hwcap" + ;; + *) + IFUNC_RESOLVER_ARGS="void" + ;; +esac |