Message ID | 20200304171105.24573-1-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | linux: Add soft-fp folder for arm with --without-fp | expand |
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. -- Joseph S. Myers joseph@codesourcery.com
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.) -- Joseph S. Myers joseph@codesourcery.com
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