This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 09/13] powerpc64le: workaround ieee long double / _Float128 stdc++ bug
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 6 Mar 2020 14:37:17 -0600
- Subject: [PATCH 09/13] powerpc64le: workaround ieee long double / _Float128 stdc++ bug
- References: <20200306203721.15886-1-murphyp@linux.vnet.ibm.com>
-mabi=ieeelongdouble triggers the stdc++ libraries _Float128
support, which then breaks if algorithm is included. For now,
explicitly disable _Float128 for such tests.
I have opened up GCC BZ 94080 to track this.
---
sysdeps/powerpc/powerpc64/le/Makefile | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sysdeps/powerpc/powerpc64/le/Makefile b/sysdeps/powerpc/powerpc64/le/Makefile
index 8c92331b4d..5171ad5036 100644
--- a/sysdeps/powerpc/powerpc64/le/Makefile
+++ b/sysdeps/powerpc/powerpc64/le/Makefile
@@ -193,3 +193,14 @@ $(foreach suf,$(all-object-suffixes), $(ldbl-ibm128-files)) \
$(foreach r,$(ldbl-128ibm-routines) $(ldbl-tests), \
$(objpfx)$(r)$(suf)): \
sysdep-CFLAGS := $(filter-out -mabi=ieeelongdouble,$(sysdep-CFLAGS))
+
+# TODO: a bug in stdc++ will fail if -mabi=ieeelongdouble and -mfloat128
+# are both enabled. The latter is enabled by default in GCC 8+. This is
+# tracked via GCC BZ 94080.
+ifeq ($(subdir),support)
+CFLAGS-links-dso-program.cc += -mno-float128
+endif
+ifeq ($(subdir),nptl)
+CFLAGS-tst-thread_local1.cc += -mno-float128
+CFLAGS-tst-minstack-throw.cc += -mno-float128
+endif
--
2.21.1