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
This commit is contained in:
Szabolcs Nagy 2019-11-18 12:03:18 +00:00 committed by Szabolcs Nagy
parent 3d6d8099b6
commit 8d7be8d614
3 changed files with 33 additions and 2 deletions

View File

@ -1,3 +1,9 @@
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.

13
gcc/configure vendored
View File

@ -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"
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 \
|| ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then :
gcc_cv_target_ldbl128=yes
@ -29701,6 +29710,10 @@ else
&& gcc_cv_target_ldbl128=yes
fi
;;
esac
fi
;;

View File

@ -6159,13 +6159,25 @@ case "$target" in
AC_ARG_WITH(long-double-128,
[AS_HELP_STRING([--with-long-double-128],
[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_cv_target_ldbl128=no
grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \
$target_header_dir/bits/wordsize.h > /dev/null 2>&1 \
&& gcc_cv_target_ldbl128=yes
]])])
]])]
[
;;
esac
])
;;
esac
if test x$gcc_cv_target_ldbl128 = xyes; then