diff --git a/gcc/configure b/gcc/configure index 3dcf7752b7f..78aaa36dce6 100755 --- a/gcc/configure +++ b/gcc/configure @@ -29356,6 +29356,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 @@ -29367,6 +29376,10 @@ else && gcc_cv_target_ldbl128=yes fi + + ;; + esac + fi ;; diff --git a/gcc/configure.ac b/gcc/configure.ac index 51f520c1508..a6498239698 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -6020,13 +6020,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