diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2019-11-18 12:03:18 +0000 |
---|---|---|
committer | Szabolcs Nagy <nsz@gcc.gnu.org> | 2019-11-18 12:03:18 +0000 |
commit | 8d7be8d614ba028074597c3ab1ee12d9495fde09 (patch) | |
tree | 3671a6e037e73c62263adf9ccd29110dbcdc2667 /gcc | |
parent | 3d6d8099b639b13760cab58720136a438ff68f0a (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rwxr-xr-x | gcc/configure | 13 | ||||
-rw-r--r-- | gcc/configure.ac | 16 |
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 |