Eric Blake <[EMAIL PROTECTED]> wrote:
> Eric Blake <ebb9 <at> byu.net> writes:
>> $  src/od -An -N48 configure -tfL
>>  0.000000000000000000e+9999
>>  0.000000000000000000e+9999
>>  0.000000000000000000e+9999
>>  0.000000000000000000e+9999
>>
>> I'm not sure why cygwin is printing such a weird value for (invalid) long
>> doubles, but this patch didn't change the situation.  It seems like a NaN
> might
>> be better than 0.0...e+9999 if the random 12-byte sequence can't be converted
>> to a valid 10-byte register long double on x86.  Perhaps this is a bug in
>> gnulib's printf replacement?
>
> This particular bug is in cygwin's libc.  Coreutils isn't using the gnulib
> printf-posix module, and therefore this is calling the native printf (which on
> cygwin is broken on long double) rather than the gnulib replacement.  Would it
> be worth updating bootstrap.conf to pull in the printf-posix module?  Or, 
> since
> that would potentially bloat all of the coreutils binaries that use printf but
> not floating point by pulling in a replacement printf, would it be worth
> refactoring od.c to use xprintf or vasprintf (both of which already use the
> gnulib replacement) rather than printf?

That latter sounds like the best way to go, for precisely the reasons
you give ;-)  Thanks for working on it.


_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to