From bff4226f5a01da2f93d4e096a1c9317a553438a3 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Mon, 3 Jan 2022 17:16:26 +0100
Subject: [PATCH] libquadmath: Use -mno-gnu-attribute in libquadmath

Testing found that we also need libquadmath to be built with
-mno-gnu-attribute, otherwise -mabi=ieeelongdouble programs don't link.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

	* configure.ac: Set XCFLAGS to -mno-gnu-attribute on
	powerpc64le*-linux*.
	* configure: Regenerated.
---
 libquadmath/configure    | 24 ++++++++++++++++++++++++
 libquadmath/configure.ac | 13 +++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/libquadmath/configure b/libquadmath/configure
index 31918507f624..b3ee64f9c7de 100755
--- a/libquadmath/configure
+++ b/libquadmath/configure
@@ -13096,6 +13096,30 @@ fi
 
 XCFLAGS="$XCFLAGS $CET_FLAGS"
 
+case x$target in
+  xpowerpc64le*-linux*)
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if __SIZEOF_LONG_DOUBLE__ != 16
+                         #error long double is double
+                         #endif
+int
+main ()
+{
+(void) 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  XCFLAGS="$XCFLAGS -mno-gnu-attribute"
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+    ;;
+  *)
+    ;;
+esac
+
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
diff --git a/libquadmath/configure.ac b/libquadmath/configure.ac
index f9d745e60ca4..eec4084a45f6 100644
--- a/libquadmath/configure.ac
+++ b/libquadmath/configure.ac
@@ -352,6 +352,19 @@ fi
 # Add CET specific flags if CET is enabled
 GCC_CET_FLAGS(CET_FLAGS)
 XCFLAGS="$XCFLAGS $CET_FLAGS"
+
+case x$target in
+  xpowerpc64le*-linux*)
+    AC_PREPROC_IFELSE(
+      [AC_LANG_PROGRAM([[#if __SIZEOF_LONG_DOUBLE__ != 16
+                         #error long double is double
+                         #endif]],
+                       [[(void) 0;]])],
+      [XCFLAGS="$XCFLAGS -mno-gnu-attribute"])
+    ;;
+  *)
+    ;;
+esac
 AC_SUBST(XCFLAGS)
 
 AC_CACHE_SAVE
-- 
GitLab