aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2019-11-18 12:03:18 +0000
committerSzabolcs Nagy <nsz@gcc.gnu.org>2019-11-18 12:03:18 +0000
commit8d7be8d614ba028074597c3ab1ee12d9495fde09 (patch)
tree3671a6e037e73c62263adf9ccd29110dbcdc2667 /gcc
parent3d6d8099b639b13760cab58720136a438ff68f0a (diff)
downloadgcc-8d7be8d614ba028074597c3ab1ee12d9495fde09.zip
gcc-8d7be8d614ba028074597c3ab1ee12d9495fde09.tar.gz
gcc-8d7be8d614ba028074597c3ab1ee12d9495fde09.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rwxr-xr-xgcc/configure13
-rw-r--r--gcc/configure.ac16
3 files changed, 33 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 984527e..3d19783 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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.
(MUSL_DYNAMIC_LINKER64): Define.
diff --git a/gcc/configure b/gcc/configure
index b60458e..c608a96 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -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
;;
diff --git a/gcc/configure.ac b/gcc/configure.ac
index b9cc243..7235bcc 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -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