summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-01-03 17:16:26 +0100
committerJakub Jelinek <jakub@redhat.com>2022-01-03 17:16:26 +0100
commit08ae457dfdfff1dcf93033f8cab1d5a1a1a51f52 (patch)
tree94f69dad00ff836b1abff85d5d88e6430cb15ecd
parent1425c6d36f83cd34e7ea72f3e0f423b6da010ab6 (diff)
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.
-rwxr-xr-xlibquadmath/configure24
-rw-r--r--libquadmath/configure.ac13
2 files changed, 37 insertions, 0 deletions
diff --git a/libquadmath/configure b/libquadmath/configure
index 6e8e3982594..603f2f13140 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 f9d745e60ca..eec4084a45f 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