From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1968) id 2C09B3947C11; Mon, 6 Apr 2020 15:56:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C09B3947C11 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Paul E. Murphy To: glibc-cvs@sourceware.org Subject: [glibc] powerpc64le: workaround ieee long double / _Float128 stdc++ bug X-Act-Checkin: glibc X-Git-Author: Paul E. Murphy X-Git-Refname: refs/heads/master X-Git-Oldrev: 6f82d05034178eee756dfe09472948130748ad39 X-Git-Newrev: 8e72163b16bfe874a415a558f78911e5d05c5f22 Message-Id: <20200406155639.2C09B3947C11@sourceware.org> Date: Mon, 6 Apr 2020 15:56:39 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2020 15:56:39 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8e72163b16bfe874a415a558f78911e5d05c5f22 commit 8e72163b16bfe874a415a558f78911e5d05c5f22 Author: Paul E. Murphy Date: Fri Feb 7 14:08:20 2020 -0600 powerpc64le: workaround ieee long double / _Float128 stdc++ bug -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 Diff: --- 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 441a8a14e5..96834d3e2b 100644 --- a/sysdeps/powerpc/powerpc64/le/Makefile +++ b/sysdeps/powerpc/powerpc64/le/Makefile @@ -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