Commit 8d7be8d6 by Szabolcs Nagy Committed by Szabolcs Nagy

musl: use correct long double abi by default

On powerpc and s390x the musl ABI requires 64 bit and 128 bit long
double respectively, so adjust the default.

gcc/ChangeLog:

2019-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* configure.ac (gcc_cv_target_ldbl128): Set for powerpc*-*-linux-musl*
	and s390*-*-linux-musl* targets.
	* configure: Regenerate.

From-SVN: r278398
parent 3d6d8099
2019-11-18 Szabolcs Nagy <szabolcs.nagy@arm.com> 2019-11-18 Szabolcs Nagy <szabolcs.nagy@arm.com>
* configure.ac (gcc_cv_target_ldbl128): Set for powerpc*-*-linux-musl*
and s390*-*-linux-musl* targets.
* configure: Regenerate.
2019-11-18 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/s390/linux.h (MUSL_DYNAMIC_LINKER32): Define. * config/s390/linux.h (MUSL_DYNAMIC_LINKER32): Define.
(MUSL_DYNAMIC_LINKER64): Define. (MUSL_DYNAMIC_LINKER64): Define.
...@@ -29690,6 +29690,15 @@ if test "${with_long_double_128+set}" = set; then : ...@@ -29690,6 +29690,15 @@ if test "${with_long_double_128+set}" = set; then :
withval=$with_long_double_128; gcc_cv_target_ldbl128="$with_long_double_128" withval=$with_long_double_128; gcc_cv_target_ldbl128="$with_long_double_128"
else else
case "$target" in
s390*-*-linux-musl*)
gcc_cv_target_ldbl128=yes
;;
powerpc*-*-linux-musl*)
gcc_cv_target_ldbl128=no
;;
*)
if test $glibc_version_major -gt 2 \ if test $glibc_version_major -gt 2 \
|| ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then : || ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then :
gcc_cv_target_ldbl128=yes gcc_cv_target_ldbl128=yes
...@@ -29701,6 +29710,10 @@ else ...@@ -29701,6 +29710,10 @@ else
&& gcc_cv_target_ldbl128=yes && gcc_cv_target_ldbl128=yes
fi fi
;;
esac
fi fi
;; ;;
......
...@@ -6159,13 +6159,25 @@ case "$target" in ...@@ -6159,13 +6159,25 @@ case "$target" in
AC_ARG_WITH(long-double-128, AC_ARG_WITH(long-double-128,
[AS_HELP_STRING([--with-long-double-128], [AS_HELP_STRING([--with-long-double-128],
[use 128-bit long double by default])], [use 128-bit long double by default])],
gcc_cv_target_ldbl128="$with_long_double_128", gcc_cv_target_ldbl128="$with_long_double_128", [
case "$target" in
s390*-*-linux-musl*)
gcc_cv_target_ldbl128=yes
;;
powerpc*-*-linux-musl*)
gcc_cv_target_ldbl128=no
;;
*)]
[GCC_GLIBC_VERSION_GTE_IFELSE([2], [4], [gcc_cv_target_ldbl128=yes], [ [GCC_GLIBC_VERSION_GTE_IFELSE([2], [4], [gcc_cv_target_ldbl128=yes], [
[gcc_cv_target_ldbl128=no [gcc_cv_target_ldbl128=no
grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \ grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \
$target_header_dir/bits/wordsize.h > /dev/null 2>&1 \ $target_header_dir/bits/wordsize.h > /dev/null 2>&1 \
&& gcc_cv_target_ldbl128=yes && gcc_cv_target_ldbl128=yes
]])]) ]])]
[
;;
esac
])
;; ;;
esac esac
if test x$gcc_cv_target_ldbl128 = xyes; then if test x$gcc_cv_target_ldbl128 = xyes; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment