Message ID | 20200304171105.24573-1-adhemerval.zanella@linaro.org |
---|---|
State | Dropped |
Headers |
Received: (qmail 93939 invoked by alias); 4 Mar 2020 17:11:13 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 93930 invoked by uid 89); 4 Mar 2020 17:11:13 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-qk1-f195.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id; bh=lEt6cwFfW6ez6R1Dh2A31YvA0OEGaicFpBt7f4Xyg3w=; b=ysDzo9psmxX7DhdHMpPSiETMSrl7SVwZIu+5AgHtcIYG8W0LuBo1T4KQiFNqN/UACa XkIoSWUOmrWHEJMcfsx5M3lZ5ErP2TGYB1eSyBv/dtHdCXZwuTYFESI++CVNPnJUSNdB zrmeU5ll++A8v5OWK4DYRlyR9+xDbo2n+KlN85OQCLvUqkP1RR6hfp01SbbFKuu0PE/G 0S0Zp8Tx65knMCHyLNaQQA0kQDqIPaIcZPLh2bLC5hJAY+m4iG586G84RVlpHxLMM/et K47ae+lcOzmzomsnSOq7orb3nn+VA8gRJ+ehkFZa4MPjHfBLgWhCGrMN8lWk45srfABg Ycnw== Return-Path: <adhemerval.zanella@linaro.org> From: Adhemerval Zanella <adhemerval.zanella@linaro.org> To: libc-alpha@sourceware.org Subject: [PATCH] linux: Add soft-fp folder for arm with --without-fp Date: Wed, 4 Mar 2020 14:11:05 -0300 Message-Id: <20200304171105.24573-1-adhemerval.zanella@linaro.org> |
Commit Message
Adhemerval Zanella Netto
March 4, 2020, 5:11 p.m. UTC
Currently --without-fp does not add the soft-fp folder before the generic dbl-64 and flt-32 on arm-linux-gnueabi. This patch adds the required Implies file (similar as powerpc, mips32, and m68k-coldfire have done). It fixes the math failures: FAIL: math/test-double-fma FAIL: math/test-float-double-add FAIL: math/test-float-double-div FAIL: math/test-float-double-mul FAIL: math/test-float-double-sub FAIL: math/test-float-fma FAIL: math/test-float-ldouble-add FAIL: math/test-float-ldouble-div FAIL: math/test-float-ldouble-mul FAIL: math/test-float-ldouble-sub FAIL: math/test-float32-float32x-add FAIL: math/test-float32-float32x-div FAIL: math/test-float32-float32x-mul FAIL: math/test-float32-float32x-sub FAIL: math/test-float32-float64-add FAIL: math/test-float32-float64-div FAIL: math/test-float32-float64-mul FAIL: math/test-float32-float64-sub FAIL: math/test-float32-fma FAIL: math/test-float32x-fma FAIL: math/test-float64-fma FAIL: math/test-idouble-fma FAIL: math/test-ifloat-fma FAIL: math/test-ifloat32-fma FAIL: math/test-ifloat32x-fma FAIL: math/test-ifloat64-fma FAIL: math/test-ildouble-fma FAIL: math/test-ldouble-fma Since the generic fadd, fdiv, fmul, fsub, and fma routines for float and double requires fenv support to be correctly rounded. Checked with a arm-linux-gnueabi configured with --without-fp. --- sysdeps/unix/sysv/linux/arm/nofpu/Implies | 1 + 1 file changed, 1 insertion(+) create mode 100644 sysdeps/unix/sysv/linux/arm/nofpu/Implies
Comments
On Wed, 4 Mar 2020, Adhemerval Zanella wrote: > Currently --without-fp does not add the soft-fp folder before > the generic dbl-64 and flt-32 on arm-linux-gnueabi. This patch adds > the required Implies file (similar as powerpc, mips32, and > m68k-coldfire have done). There hasn't been a --without-fp configure option since commit 8df5d34720dd71e934545bade879e04697830757, so this commit message is clearly wrong. Based on disassembling a 2.27 binary (2.27 being the first release after the sysdeps/ieee754/soft-fp directory was added), the sysdeps ordering was working then, but I confirm it's broken now. Thus this raises the question of when the ordering broke, and thus (a) whether it might have broken for any other configurations using sysdeps/ieee754/soft-fp at the same time, and thus need fixing for them, (b) whether the breakage broke ordering for anything other than nofpu directories and (c) whether it might need a bug filed in Bugzilla if the issue was present in a release. The addition of /le sysdeps directories is one change that might have had a risk of breaking such ordering, but I don't know if it was that or not.
On 04/03/2020 21:55, Joseph Myers wrote: > On Wed, 4 Mar 2020, Adhemerval Zanella wrote: > >> Currently --without-fp does not add the soft-fp folder before >> the generic dbl-64 and flt-32 on arm-linux-gnueabi. This patch adds >> the required Implies file (similar as powerpc, mips32, and >> m68k-coldfire have done). > > There hasn't been a --without-fp configure option since commit > 8df5d34720dd71e934545bade879e04697830757, so this commit message is > clearly wrong. Indeed, I clearly forgot about this patch and I was fooled by a lingering comment in configure.ac. > > Based on disassembling a 2.27 binary (2.27 being the first release after > the sysdeps/ieee754/soft-fp directory was added), the sysdeps ordering was > working then, but I confirm it's broken now. Thus this raises the > question of when the ordering broke, and thus (a) whether it might have > broken for any other configurations using sysdeps/ieee754/soft-fp at the > same time, and thus need fixing for them, (b) whether the breakage broke > ordering for anything other than nofpu directories and (c) whether it > might need a bug filed in Bugzilla if the issue was present in a release. > The addition of /le sysdeps directories is one change that might have had > a risk of breaking such ordering, but I don't know if it was that or not. > It was the LE/BE sysdeps patch, I will send a new version.
On Thu, 5 Mar 2020, Adhemerval Zanella wrote: > > Based on disassembling a 2.27 binary (2.27 being the first release after > > the sysdeps/ieee754/soft-fp directory was added), the sysdeps ordering was > > working then, but I confirm it's broken now. Thus this raises the > > question of when the ordering broke, and thus (a) whether it might have > > broken for any other configurations using sysdeps/ieee754/soft-fp at the > > same time, and thus need fixing for them, (b) whether the breakage broke > > ordering for anything other than nofpu directories and (c) whether it > > might need a bug filed in Bugzilla if the issue was present in a release. > > The addition of /le sysdeps directories is one change that might have had > > a risk of breaking such ordering, but I don't know if it was that or not. > > It was the LE/BE sysdeps patch, I will send a new version. Thanks. Did the microblaze / sh changes break the sysdeps ordering in those cases? (In the microblaze case, there's no nofpu directory and ieee754/soft-fp is in the same Implies file as ieee754/flt-32 and ieee754/dbl-64, so maybe there isn't an issue there.)
On 05/03/2020 12:16, Joseph Myers wrote: > On Thu, 5 Mar 2020, Adhemerval Zanella wrote: > >>> Based on disassembling a 2.27 binary (2.27 being the first release after >>> the sysdeps/ieee754/soft-fp directory was added), the sysdeps ordering was >>> working then, but I confirm it's broken now. Thus this raises the >>> question of when the ordering broke, and thus (a) whether it might have >>> broken for any other configurations using sysdeps/ieee754/soft-fp at the >>> same time, and thus need fixing for them, (b) whether the breakage broke >>> ordering for anything other than nofpu directories and (c) whether it >>> might need a bug filed in Bugzilla if the issue was present in a release. >>> The addition of /le sysdeps directories is one change that might have had >>> a risk of breaking such ordering, but I don't know if it was that or not. >> >> It was the LE/BE sysdeps patch, I will send a new version. > > Thanks. Did the microblaze / sh changes break the sysdeps ordering in > those cases? (In the microblaze case, there's no nofpu directory and > ieee754/soft-fp is in the same Implies file as ieee754/flt-32 and > ieee754/dbl-64, so maybe there isn't an issue there.) > Only ARM is affected, on both sh and microblaze ieee754/soft-fp is selected prior ieee754/flt-32 or ieee754/dbl-64. For sh4-linux-gnu-soft, 2.30 sysdeps order show: sysdeps/unix/sysv/linux/sh/sh4 sysdeps/unix/sysv/linux/sh sysdeps/sh/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/sh sysdeps/unix sysdeps/posix sysdeps/sh/sh4 sysdeps/sh/nofpu sysdeps/ieee754/soft-fp sysdeps/sh sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic While on master: sysdeps/unix/sysv/linux/sh/le/sh4 sysdeps/unix/sysv/linux/sh/sh4 sysdeps/unix/sysv/linux/sh/le sysdeps/unix/sysv/linux/sh sysdeps/sh/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/sh sysdeps/unix sysdeps/posix sysdeps/sh/le/sh4 sysdeps/sh/sh4 sysdeps/sh/le sysdeps/sh/nofpu sysdeps/ieee754/soft-fp sysdeps/sh sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic And for microblaze-linux-gnu on 2.31: sysdeps/unix/sysv/linux/microblaze sysdeps/microblaze/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix sysdeps/posix sysdeps/microblaze sysdeps/wordsize-32 sysdeps/ieee754/soft-fp sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic While on master: sysdeps/unix/sysv/linux/microblaze/be sysdeps/unix/sysv/linux/microblaze sysdeps/microblaze/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix sysdeps/posix sysdeps/microblaze/be sysdeps/microblaze sysdeps/wordsize-32 sysdeps/ieee754/soft-fp sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic
diff --git a/sysdeps/unix/sysv/linux/arm/nofpu/Implies b/sysdeps/unix/sysv/linux/arm/nofpu/Implies new file mode 100644 index 0000000000..c90dd7fd5c --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/nofpu/Implies @@ -0,0 +1 @@ +arm/nofpu