| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- # This file is generated from configure.ac by Autoconf. DO NOT EDIT!
- # Local configure fragment for sysdeps/arm.
- # We check to see if the compiler and flags are
- # selecting the hard-float ABI and if they are then
- # we set libc_cv_arm_pcs_vfp to yes which causes
- # HAVE_ARM_PCS_VFP to be defined in config.h and
- # in include/libc-symbols.h and thus available to
- # shlib-versions to select the appropriate name for
- # the dynamic linker via %ifdef.
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5
- printf %s "checking for egrep -e... " >&6; }
- if test ${ac_cv_path_EGREP_TRADITIONAL+y}
- then :
- printf %s "(cached) " >&6
- else case e in #(
- e) if test -z "$EGREP_TRADITIONAL"; then
- ac_path_EGREP_TRADITIONAL_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
- do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in grep ggrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue
- # Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found.
- # Check for GNU $ac_path_EGREP_TRADITIONAL
- case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #(
- *GNU*)
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;;
- #(
- *)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl"
- "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL"
- ac_path_EGREP_TRADITIONAL_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
- esac
- $ac_path_EGREP_TRADITIONAL_found && break 3
- done
- done
- done
- IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then
- :
- fi
- else
- ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL
- fi
- if test "$ac_cv_path_EGREP_TRADITIONAL"
- then :
- ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E"
- else case e in #(
- e) if test -z "$EGREP_TRADITIONAL"; then
- ac_path_EGREP_TRADITIONAL_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
- do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in egrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue
- # Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found.
- # Check for GNU $ac_path_EGREP_TRADITIONAL
- case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #(
- *GNU*)
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;;
- #(
- *)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl"
- "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL"
- ac_path_EGREP_TRADITIONAL_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
- esac
- $ac_path_EGREP_TRADITIONAL_found && break 3
- done
- done
- done
- IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
- else
- ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL
- fi
- ;;
- esac
- fi ;;
- esac
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5
- printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; }
- EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the ARM hard-float ABI" >&5
- printf %s "checking whether the compiler is using the ARM hard-float ABI... " >&6; }
- if test ${libc_cv_arm_pcs_vfp+y}
- then :
- printf %s "(cached) " >&6
- else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- #ifdef __ARM_PCS_VFP
- yes
- #endif
- _ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP_TRADITIONAL "yes" >/dev/null 2>&1
- then :
- libc_cv_arm_pcs_vfp=yes
- else case e in #(
- e) libc_cv_arm_pcs_vfp=no ;;
- esac
- fi
- rm -rf conftest*
- ;;
- esac
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcs_vfp" >&5
- printf "%s\n" "$libc_cv_arm_pcs_vfp" >&6; }
- if test $libc_cv_arm_pcs_vfp = yes; then
- printf "%s\n" "#define HAVE_ARM_PCS_VFP 1" >>confdefs.h
- config_vars="$config_vars
- default-abi = hard"
- else
- config_vars="$config_vars
- default-abi = soft"
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether VFP supports 32 registers" >&5
- printf %s "checking whether VFP supports 32 registers... " >&6; }
- if test ${libc_cv_arm_pcs_vfp_d32+y}
- then :
- printf %s "(cached) " >&6
- else case e in #(
- e)
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- void foo (void)
- {
- asm volatile ("vldr d16,=17" : : : "d16");
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"
- then :
- libc_cv_arm_pcs_vfp_d32=yes
- else case e in #(
- e) libc_cv_arm_pcs_vfp_d32=no ;;
- esac
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
- esac
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcs_vfp_d32" >&5
- printf "%s\n" "$libc_cv_arm_pcs_vfp_d32" >&6; }
- if test "$libc_cv_arm_pcs_vfp_d32" = yes ;
- then
- printf "%s\n" "#define HAVE_ARM_PCS_VFP_D32 1" >>confdefs.h
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether PC-relative relocs in movw/movt work properly" >&5
- printf %s "checking whether PC-relative relocs in movw/movt work properly... " >&6; }
- if test ${libc_cv_arm_pcrel_movw+y}
- then :
- printf %s "(cached) " >&6
- else case e in #(
- e)
- cat > conftest.s <<\EOF
- .syntax unified
- .arm
- .arch armv7-a
- .text
- .globl foo
- .type foo,%function
- foo: movw r0, #:lower16:symbol - 1f - 8
- movt r0, #:upper16:symbol - 1f - 8
- 1: add r0, pc
- @ And now a case with a local symbol.
- movw r0, #:lower16:3f - 2f - 8
- movt r0, #:upper16:3f - 2f - 8
- 2: add r0, pc
- bx lr
- .data
- .globl symbol
- .hidden symbol
- symbol: .long 23
- 3: .long 17
- EOF
- libc_cv_arm_pcrel_movw=no
- ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -nostartfiles -nostdlib -shared \
- -o conftest.so conftest.s 1>&5 2>&5 &&
- LC_ALL=C $READELF -dr conftest.so > conftest.dr 2>&5 &&
- {
- cat conftest.dr 1>&5
- grep -F 'TEXTREL
- R_ARM_NONE' conftest.dr > /dev/null || libc_cv_arm_pcrel_movw=yes
- }
- rm -f conftest* ;;
- esac
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcrel_movw" >&5
- printf "%s\n" "$libc_cv_arm_pcrel_movw" >&6; }
- if test $libc_cv_arm_pcrel_movw = yes; then
- printf "%s\n" "#define ARM_PCREL_MOVW_OK 1" >>confdefs.h
- fi
- # This was buggy in assemblers from GNU binutils versions before 2.25.1
- # (it's known to be broken in 2.24 and 2.25; see
- # https://sourceware.org/bugzilla/show_bug.cgi?id=18383).
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether TPOFF relocs with addends are assembled correctly" >&5
- printf %s "checking whether TPOFF relocs with addends are assembled correctly... " >&6; }
- if test ${libc_cv_arm_tpoff_addend+y}
- then :
- printf %s "(cached) " >&6
- else case e in #(
- e)
- cat > conftest.s <<\EOF
- .syntax unified
- .arm
- .arch armv7-a
- .text
- foo:
- .word tbase(tpoff)+4
- .section .tdata,"awT",%progbits
- .word -4
- tbase: .word 0
- .word 4
- EOF
- libc_cv_arm_tpoff_addend=no
- ${CC-cc} -c $CFLAGS $CPPFLAGS \
- -o conftest.o conftest.s 1>&5 2>&5 &&
- LC_ALL=C $READELF -x.text conftest.o > conftest.x 2>&5 &&
- {
- cat conftest.x 1>&5
- $AWK 'BEGIN { result = 2 }
- $1 ~ /0x0+/ && $2 ~ /[0-9a-f]+/ {
- # Check for little-endian or big-endian encoding of 4 in the in-place addend.
- result = ($2 == "04000000" || $2 == "00000004") ? 0 : 1
- }
- END { exit(result) }
- ' conftest.x 2>&5 && libc_cv_arm_tpoff_addend=yes
- }
- rm -f conftest* ;;
- esac
- fi
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_tpoff_addend" >&5
- printf "%s\n" "$libc_cv_arm_tpoff_addend" >&6; }
- if test $libc_cv_arm_tpoff_addend = no; then
- config_vars="$config_vars
- test-xfail-tst-tlsalign = yes"
- config_vars="$config_vars
- test-xfail-tst-tlsalign-static = yes"
- fi
- libc_cv_gcc_unwind_find_fde=no
- # Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
- CFLAGS=${CFLAGS% -fno-unwind-tables}
|