64 lines
1.6 KiB
Diff
64 lines
1.6 KiB
Diff
diff --git a/gcc/configure b/gcc/configure
|
|
index 043a62b0de9..cbb10aca436 100755
|
|
--- a/gcc/configure
|
|
+++ b/gcc/configure
|
|
@@ -29054,6 +29054,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
|
|
@@ -29065,6 +29074,10 @@ else
|
|
&& gcc_cv_target_ldbl128=yes
|
|
|
|
fi
|
|
+
|
|
+ ;;
|
|
+ esac
|
|
+
|
|
fi
|
|
|
|
;;
|
|
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
|
index 2b52da3bbcc..31154c73858 100644
|
|
--- a/gcc/configure.ac
|
|
+++ b/gcc/configure.ac
|
|
@@ -5801,13 +5801,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
|