]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
powerpc64le: workaround ieee long double / _Float128 stdc++ bug
authorPaul E. Murphy <murphyp@linux.vnet.ibm.com>
Fri, 7 Feb 2020 20:08:20 +0000 (14:08 -0600)
committerPaul E. Murphy <murphyp@linux.vnet.ibm.com>
Mon, 6 Apr 2020 15:23:58 +0000 (10:23 -0500)
-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.

Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
sysdeps/powerpc/powerpc64/le/Makefile

index 441a8a14e5273c2870a2ff5c7db693be1aa789ac..96834d3e2bb4b9a27d0ed972bbbf2ed9ab6351f4 100644 (file)
@@ -140,3 +140,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