diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-07-23 14:26:49 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-08-29 09:58:21 -0300 |
commit | 1673ba87fefe019c834c09d33673d1d453ea698d (patch) | |
tree | 1cbb729f66282c181e278f0ee84888f7009fb23c /sysdeps/arm | |
parent | ab74d59f652e5c0815232b7206b6df8bafffebd9 (diff) | |
download | glibc-1673ba87fefe019c834c09d33673d1d453ea698d.tar glibc-1673ba87fefe019c834c09d33673d1d453ea698d.tar.gz glibc-1673ba87fefe019c834c09d33673d1d453ea698d.tar.bz2 glibc-1673ba87fefe019c834c09d33673d1d453ea698d.zip |
arm: Split BE/LE abilist
The fix for BZ#18231 requires new symbols only for armeb. This patch
adds the required folder and files for both BE and LE abilist. No
semantic changes are expected.
Checked with check-abi for arm-linux-gnueabihf and armeb-linux-gnueabihf.
* sysdeps/arm/preconfigure.ac: Set machine based on endianness.
* sysdeps/arm/preconfigure: Regenerate.
* sysdeps/arm/be/Implies: New file.
* sysdeps/arm/be/armv6/Implies: Likewise.
* sysdeps/arm/be/armv6t2/Implies: Likewise.
* sysdeps/arm/be/armv7/Implies: Likewise.
* sysdeps/arm/le/Implies: Likewise.
* sysdeps/unix/sysv/linux/arm/be/Implies: Likewise.
* sysdeps/unix/sysv/linux/arm/le/Implies: Likewise.
* sysdeps/unix/sysv/linux/arm/*.abilist: Move to
sysdeps/unix/sysv/linux/arm/le/*.abilist.
* sysdeps/unix/sysv/linux/arm/be/l*.abilist: New files.
Diffstat (limited to 'sysdeps/arm')
-rw-r--r-- | sysdeps/arm/be/Implies | 1 | ||||
-rw-r--r-- | sysdeps/arm/be/armv6/Implies | 1 | ||||
-rw-r--r-- | sysdeps/arm/be/armv6t2/Implies | 1 | ||||
-rw-r--r-- | sysdeps/arm/be/armv7/Implies | 1 | ||||
-rw-r--r-- | sysdeps/arm/le/Implies | 1 | ||||
-rw-r--r-- | sysdeps/arm/preconfigure | 150 | ||||
-rw-r--r-- | sysdeps/arm/preconfigure.ac | 7 |
7 files changed, 160 insertions, 2 deletions
diff --git a/sysdeps/arm/be/Implies b/sysdeps/arm/be/Implies new file mode 100644 index 0000000000..fb05f39d3f --- /dev/null +++ b/sysdeps/arm/be/Implies @@ -0,0 +1 @@ +arm diff --git a/sysdeps/arm/be/armv6/Implies b/sysdeps/arm/be/armv6/Implies new file mode 100644 index 0000000000..137a8ab20f --- /dev/null +++ b/sysdeps/arm/be/armv6/Implies @@ -0,0 +1 @@ +arm/armv6 diff --git a/sysdeps/arm/be/armv6t2/Implies b/sysdeps/arm/be/armv6t2/Implies new file mode 100644 index 0000000000..d777cf8eef --- /dev/null +++ b/sysdeps/arm/be/armv6t2/Implies @@ -0,0 +1 @@ +arm/armv6t2 diff --git a/sysdeps/arm/be/armv7/Implies b/sysdeps/arm/be/armv7/Implies new file mode 100644 index 0000000000..3a1446ba1b --- /dev/null +++ b/sysdeps/arm/be/armv7/Implies @@ -0,0 +1 @@ +arm/armv7 diff --git a/sysdeps/arm/le/Implies b/sysdeps/arm/le/Implies new file mode 100644 index 0000000000..fb05f39d3f --- /dev/null +++ b/sysdeps/arm/le/Implies @@ -0,0 +1 @@ +arm diff --git a/sysdeps/arm/preconfigure b/sysdeps/arm/preconfigure index d803256d9f..e95c988f29 100644 --- a/sysdeps/arm/preconfigure +++ b/sysdeps/arm/preconfigure @@ -51,6 +51,154 @@ $as_echo "$as_me: WARNING: arm/preconfigure: Did not find ARM architecture type; ;; esac - machine=arm/$machine + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_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 + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "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_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_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_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_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 + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "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_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_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_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; 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=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + yes + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + endianness=le +else + endianness=be +fi +rm -f conftest* + + + machine=arm/$endianness/$machine with_fp_cond="!defined __SOFTFP__" esac diff --git a/sysdeps/arm/preconfigure.ac b/sysdeps/arm/preconfigure.ac index 43d014031d..a523b4fb4c 100644 --- a/sysdeps/arm/preconfigure.ac +++ b/sysdeps/arm/preconfigure.ac @@ -46,6 +46,11 @@ arm*) ;; esac - machine=arm/$machine + AC_EGREP_CPP(yes,[#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + yes + #endif + ], endianness=le, endianness=be) + + machine=arm/$endianness/$machine with_fp_cond="!defined __SOFTFP__" esac |