--enable-vtable-verify causes ICEs on ppc64, so disable that, also add arch specific bits everywhere else the new patch is a backport from current gcc9/8.x tree, fixing errors about "__float128 is not supported on this target" when c++ math library on ppc64 and possibly other platforms (manifests for example when building the bullet physics library) we also need a patch for ppc64 musl, otherwise it will fail in decimal float stuff, that one is taken from alpine linux also serial-configure is broken for some cross targets, so disable it [ci skip]
76 lines
1.9 KiB
Diff
76 lines
1.9 KiB
Diff
From 47467f3ab0fb2f2fcede81060fe8bb339d0909eb Mon Sep 17 00:00:00 2001
|
|
From: Szabolcs Nagy <nsz@port70.net>
|
|
Date: Wed, 28 Feb 2018 00:54:05 +0000
|
|
Subject: [PATCH 10/12] ldbl128 config
|
|
|
|
---
|
|
gcc/configure | 13 +++++++++++++
|
|
gcc/configure.ac | 16 ++++++++++++++--
|
|
2 files changed, 27 insertions(+), 2 deletions(-)
|
|
|
|
diff --git gcc/configure gcc/configure
|
|
index 6121e163259..07ff8597d48 100755
|
|
--- gcc/configure
|
|
+++ gcc/configure
|
|
@@ -29309,6 +29309,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
|
|
@@ -29320,6 +29329,10 @@ else
|
|
&& gcc_cv_target_ldbl128=yes
|
|
|
|
fi
|
|
+
|
|
+ ;;
|
|
+ esac
|
|
+
|
|
fi
|
|
|
|
;;
|
|
diff --git gcc/configure.ac gcc/configure.ac
|
|
index b066cc609e1..6c15ed898c0 100644
|
|
--- gcc/configure.ac
|
|
+++ gcc/configure.ac
|
|
@@ -5971,13 +5971,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
|
|
--
|
|
2.17.1
|
|
|