diff options
Diffstat (limited to 'sysdeps/aarch64/configure')
-rwxr-xr-x | sysdeps/aarch64/configure | 211 |
1 files changed, 3 insertions, 208 deletions
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure index 4bd5496..f364e65 100755 --- a/sysdeps/aarch64/configure +++ b/sysdeps/aarch64/configure @@ -185,219 +185,14 @@ else default-abi = lp64" fi -# Only consider BTI supported if -mbranch-protection=bti is -# on by default in the compiler and the linker produces -# binaries with GNU property notes in PT_GNU_PROPERTY segment. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BTI support" >&5 -printf %s "checking for BTI support... " >&6; } -if test ${libc_cv_aarch64_bti+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) cat > conftest.c <<EOF -void foo (void) { } -EOF - libc_cv_aarch64_bti=no - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o conftest.so conftest.c' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } \ - && { ac_try='$READELF -lW conftest.so | grep -q GNU_PROPERTY' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } \ - && { ac_try='$READELF -nW conftest.so | grep -q "NT_GNU_PROPERTY_TYPE_0.*AArch64 feature:.* BTI"' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then - libc_cv_aarch64_bti=yes - fi - rm -rf conftest.* ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_bti" >&5 -printf "%s\n" "$libc_cv_aarch64_bti" >&6; } -config_vars="$config_vars -aarch64-bti = $libc_cv_aarch64_bti" -if test $libc_cv_aarch64_bti = yes; then - printf "%s\n" "#define HAVE_AARCH64_BTI 1" >>confdefs.h - -fi - -# Check if glibc is built with return address signing, i.e. -# if -mbranch-protection=pac-ret is on. We need this because -# pac-ret relies on unwinder support so it's not safe to use -# it in assembly code unconditionally, but there is no -# feature test macro for it in gcc. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pac-ret is enabled" >&5 -printf %s "checking if pac-ret is enabled... " >&6; } -if test ${libc_cv_aarch64_pac_ret+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) cat > conftest.c <<EOF -int bar (void); -int foo (void) { return bar () + 1; } -EOF - libc_cv_aarch64_pac_ret=no - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -o conftest.s conftest.c' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } \ - && { ac_try='grep -q -E '\''(hint( | )+25|paciasp)'\'' conftest.s' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then - libc_cv_aarch64_pac_ret=yes - fi - rm -rf conftest.* ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_pac_ret" >&5 -printf "%s\n" "$libc_cv_aarch64_pac_ret" >&6; } -if test $libc_cv_aarch64_pac_ret = yes; then - printf "%s\n" "#define HAVE_AARCH64_PAC_RET 1" >>confdefs.h - -fi - -# Check if binutils supports variant PCS symbols. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variant PCS support" >&5 -printf %s "checking for variant PCS support... " >&6; } -if test ${libc_cv_aarch64_variant_pcs+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) cat > conftest.S <<EOF -.global foo -.type foo, %function -.variant_pcs foo -foo: - ret -.global bar -.type bar, %function -bar: - b foo -EOF - libc_cv_aarch64_variant_pcs=no - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o conftest.so conftest.S' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } \ - && { ac_try='$READELF -dW conftest.so | grep -q AARCH64_VARIANT_PCS' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then - libc_cv_aarch64_variant_pcs=yes - fi - rm -rf conftest.* ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_variant_pcs" >&5 -printf "%s\n" "$libc_cv_aarch64_variant_pcs" >&6; } -config_vars="$config_vars -aarch64-variant-pcs = $libc_cv_aarch64_variant_pcs" - -# Check if asm support armv8.2-a+sve -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SVE support in assembler" >&5 -printf %s "checking for SVE support in assembler... " >&6; } -if test ${libc_cv_aarch64_sve_asm+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) cat > conftest.s <<\EOF - .arch armv8.2-a+sve - ptrue p0.b -EOF -if { ac_try='${CC-cc} -c conftest.s 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - libc_cv_aarch64_sve_asm=yes -else - libc_cv_aarch64_sve_asm=no -fi -rm -f conftest* ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_sve_asm" >&5 -printf "%s\n" "$libc_cv_aarch64_sve_asm" >&6; } -if test $libc_cv_aarch64_sve_asm = yes; then - printf "%s\n" "#define HAVE_AARCH64_SVE_ASM 1" >>confdefs.h - -fi - if test x"$build_mathvec" = xnotset; then build_mathvec=yes fi -# Check if compiler supports SVE ACLE. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for availability of SVE ACLE" >&5 -printf %s "checking for availability of SVE ACLE... " >&6; } -if test ${libc_cv_aarch64_sve_acle+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) cat > conftest.c <<EOF -#include <arm_sve.h> -EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fsyntax-only -ffreestanding conftest.c' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - libc_cv_aarch64_sve_acle=yes - else - libc_cv_aarch64_sve_acle=no - fi - rm conftest.c ;; -esac -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_aarch64_sve_acle" >&5 -printf "%s\n" "$libc_cv_aarch64_sve_acle" >&6; } - -# Check if compiler is sufficient to build mathvec -if test $build_mathvec = yes; then - fail=no - if test $libc_cv_aarch64_variant_pcs = no; then - fail=yes - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is enabled but linker does not support variant PCS." >&5 -printf "%s\n" "$as_me: WARNING: mathvec is enabled but linker does not support variant PCS." >&2;} - fi - if test $libc_cv_aarch64_sve_asm = no; then - fail=yes - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is enabled but assembler does not support SVE." >&5 -printf "%s\n" "$as_me: WARNING: mathvec is enabled but assembler does not support SVE." >&2;} - fi - if test $libc_cv_aarch64_sve_acle = no; then - fail=yes - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is enabled but compiler does not have SVE ACLE." >&5 -printf "%s\n" "$as_me: WARNING: mathvec is enabled but compiler does not have SVE ACLE." >&2;} - fi - if test $fail = yes; then - as_fn_error $? "use a compatible toolchain or configure with --disable-mathvec (this results in incomplete ABI)." "$LINENO" 5 - fi -else +if test $build_mathvec = no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mathvec is disabled, this results in incomplete ABI." >&5 printf "%s\n" "$as_me: WARNING: mathvec is disabled, this results in incomplete ABI." >&2;} fi +libc_cv_support_sframe=yes + |