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? -- Eric Blake _______________________________________________ Bug-coreutils mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-coreutils
