On Thu, Nov 27, 2014 at 08:37:59PM -0800, Paul Eggert wrote: > Pádraig Brady wrote: > > Are these checks backed up by corresponding replacement code? > > Are these checks correct? > > Why has glibc not been updated in the 7 years since the checks were added? > > As I recall, this comes from an old dispute about what glibc should > do when asked to print floating-point bit-patterns that cannot be > generated by the machine's floating-point operations. This has > undefined behavior in glibc (and POSIX allows this), but undefined > behavior can be catastrophic in programs like 'od' which will crash > when asked to print arbitrary data as if it were floating-point. So > coreutils insists on a substitute for printf for this situation. > > See the thread starting here: > > http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00046.html
>From bug ticket pseudo zero patterns were fixed by 2007-06-06 Jakub Jelinek <ja...@redhat.com> [BZ #4586] * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat pseudo-zeros as zero. * sysdeps/x86_64/ldbl2mpn.c: New file. * sysdeps/ia64/ldbl2mpn.c: New file. You could write patch to handle pseudo-infinity as well.