This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CYGWIN 2.3.0 [32/64]: strtold() seems to be broken


On Nov 18 21:54, Corinna Vinschen wrote:
> On Nov 18 12:56, Tino Lange wrote:
> > Hi newlib Developers,
> > 
> > Corinna Vinschen asked me to re-post my bug report here (which I sent
> > originally to the cygwin mailing list a few days ago).
> > 
> > So here we go (note that I have removed the "cygcheck.out" file, as this
> > seems to be a CYGWIN specific bug tracking process requirement only.
> > Please let me know if you expect me to send it or somthing similar to
> > this "newlib" mailing list as well):
> > 
> > 
> > strtold() seems to be broken, at least when there is additional
> > non-numeric data after the initial numeric part.
> 
> Thanks for the report, Tino.
> 
> Patches would be most welcome, of course :}

The existing _strtold implementation was completely broken and
non-standard.  I imported the latest version from David M. Gay, with
a couple of changes required for newlib.

I only imported the wrapper code for targets supporting IEEE long
doubles, and I only imported rounding mode support for i386 and x86_64
targets.

The __flt_rounds() call in libc/stdlib/strtold.c for Intel CPUs I took
from FreeBSD, which has similar calls available for powerpc, arm,
sparc64, powerpc64, mips and aarch64.  Patches to include those, as well
as similar calls for other targets are most welcome.  Same goes for
additional support for non-IEEE targets, which is also available from
Gay's gdtoa package.  I'm just not sure which of them we'd need for
which target.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Attachment: pgpOkZzK0boOx.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]