This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Minimum floating-point requirements
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: Steve Munroe <sjmunroe at us dot ibm dot com>, Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, <libc-alpha at sourceware dot org>
- Date: Sat, 15 Feb 2014 18:46:23 +0000
- Subject: Re: Minimum floating-point requirements
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnym4yN=7rLrm0RRtNN++T=xwx8r3MUKJOfz4r+H=Z9zd7Q at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1401300038120 dot 24633 at digraph dot polyomino dot org dot uk> <OF9FA4A0A3 dot 0CD33B43-ON86257C70 dot 0073531F-86257C70 dot 0073A4BB at us dot ibm dot com> <Pine dot LNX dot 4 dot 64 dot 1401302108080 dot 12540 at digraph dot polyomino dot org dot uk> <Pine dot LNX dot 4 dot 64 dot 1402072347200 dot 12232 at digraph dot polyomino dot org dot uk> <OF54854818 dot C108092B-ON86257C7B dot 0063B8C0-86257C7B dot 006B6B53 at us dot ibm dot com> <Pine dot LNX dot 4 dot 64 dot 1402102231400 dot 26591 at digraph dot polyomino dot org dot uk> <CAGWvnyn-Cj4Mw4efQTs2MYFHhknyskAEznEqpGeYnb9rY3X4hg at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1402150136490 dot 31722 at digraph dot polyomino dot org dot uk> <CAGWvny=aJCdoQvC8q-dNvFdDNAqRCcZ7_adD=Sst8FDr0MN1Qg at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1402151656510 dot 6358 at digraph dot polyomino dot org dot uk>
On Sat, 15 Feb 2014, Joseph S. Myers wrote:
> don't have a use for this breadth doesn't mean it's bad for GCC. I would
> welcome breadth in glibc in terms of additional non-default libm function
> variants, such as __*_fast functions used with -ffast-math (which would be
> built in the existing default mode, not the new non-default mode), if
> people interested in those wish to contribute them.
To add: I don't know what other glibc developers would think of this, but
I would consider the following acceptable:
* New __cbrtl_nonieee (for example), using the existing libgcc functions.
Appropriate arrangements are made for when one libm function calls another
so that the _nonieee functions call other _nonieee functions.
* cbrtl at existing symbol version is compat symbol alias for
__cbrtl_nonieee.
* cbrtl at new symbol version uses -mieee libgcc functions.
* -mieee defines __IBM_LDOUBLE_IEEE__. A powerpc-specific bits/*.h header
redirects cbrtl to __cbrtl_nonieee unless __IBM_LDOUBLE_IEEE__ is defined.
(So uses of -mieee get the new cbrtl, people not using it (unless they
declare functions themselves rather than using headers) and existing
binaries get __cbrtl_nonieee. As long as library headers are used, this
would make the glibc default match the GCC default.)
To be clear, I'm not offering to implement that, only the GCC changes to
add -mieee and the new libgcc functions and the associated glibc change to
build with -mieee; anyone wanting to make the glibc default match the GCC
default would need to follow up with changes such as the above. But I
think the above would be better than trying to keep marking failures
expected when they arise from libgcc problems.
--
Joseph S. Myers
joseph@codesourcery.com