From: Paul Eggert Date: Wed, 22 Dec 2010 23:13:59 +0000 (-0800) Subject: doc: document Solaris printf bug with large float precisions X-Git-Tag: v0.1~3486 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=c5d4f8b1cc872fbd3be75e160fd0483fc9181caf;p=gnulib.git doc: document Solaris printf bug with large float precisions * doc/posix-functions/dprintf.texi (dprintf): * doc/posix-functions/fprintf.texi (fprintf): * doc/posix-functions/printf.texi (printf): * doc/posix-functions/snprintf.texi (snprintf): * doc/posix-functions/sprintf.texi (sprintf): * doc/posix-functions/vdprintf.texi (vdprintf): * doc/posix-functions/vfprintf.texi (vfprintf): * doc/posix-functions/vprintf.texi (vprintf): * doc/posix-functions/vsnprintf.texi (vsnprintf): * doc/posix-functions/vsprintf.texi (vsprintf): Mention that these functions mishandle large floating point precisions on Solaris 10. The same bug is also present in Solaris 8, and I assume earlier. This causes "cd gnulib-tests; make check" to fail on Solaris 8 (and I assume, later) when building the latest coreutils, in test-vasprintf-posix's call to my_asprintf (&result, "%.4000f %d", 1.0, 99). I have not checked the wide flavors (e.g., wprintf) so this patch just updates the documentation for the narrow ones. --- diff --git a/ChangeLog b/ChangeLog index 2dc4aebf8..276a1cade 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ 2010-12-22 Paul Eggert + doc: document Solaris printf bug with large float precisions + * doc/posix-functions/dprintf.texi (dprintf): + * doc/posix-functions/fprintf.texi (fprintf): + * doc/posix-functions/printf.texi (printf): + * doc/posix-functions/snprintf.texi (snprintf): + * doc/posix-functions/sprintf.texi (sprintf): + * doc/posix-functions/vdprintf.texi (vdprintf): + * doc/posix-functions/vfprintf.texi (vfprintf): + * doc/posix-functions/vprintf.texi (vprintf): + * doc/posix-functions/vsnprintf.texi (vsnprintf): + * doc/posix-functions/vsprintf.texi (vsprintf): + Mention that these functions mishandle large floating point + precisions on Solaris 10. The same bug is also present in Solaris + 8, and I assume earlier. This causes "cd gnulib-tests; make + check" to fail on Solaris 8 (and I assume, later) when building + the latest coreutils, in test-vasprintf-posix's call to + my_asprintf (&result, "%.4000f %d", 1.0, 99). I have not checked + the wide flavors (e.g., wprintf) so this patch just updates the + documentation for the narrow ones. + test-posixtm.c: add two tests * tests/test-posixtm.c: Add two tests, to highlight the bug in Solaris 10 (and earlier) localtime. Gnulib doesn't work diff --git a/doc/posix-functions/dprintf.texi b/doc/posix-functions/dprintf.texi index dc3902292..3f9f54b62 100644 --- a/doc/posix-functions/dprintf.texi +++ b/doc/posix-functions/dprintf.texi @@ -24,4 +24,9 @@ glibc-2.3.6. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/fprintf.texi b/doc/posix-functions/fprintf.texi index f394e8831..116d20e13 100644 --- a/doc/posix-functions/fprintf.texi +++ b/doc/posix-functions/fprintf.texi @@ -69,4 +69,9 @@ mingw. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/printf.texi b/doc/posix-functions/printf.texi index b380ebc5b..fb894d6f4 100644 --- a/doc/posix-functions/printf.texi +++ b/doc/posix-functions/printf.texi @@ -69,4 +69,9 @@ mingw. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/snprintf.texi b/doc/posix-functions/snprintf.texi index 9e8f5ada9..23fa5e7f4 100644 --- a/doc/posix-functions/snprintf.texi +++ b/doc/posix-functions/snprintf.texi @@ -89,4 +89,9 @@ OSF/1 5.1. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/sprintf.texi b/doc/posix-functions/sprintf.texi index 5ebd16f60..cce962762 100644 --- a/doc/posix-functions/sprintf.texi +++ b/doc/posix-functions/sprintf.texi @@ -61,4 +61,9 @@ MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/vdprintf.texi b/doc/posix-functions/vdprintf.texi index 20a6ef75c..3fa9b737a 100644 --- a/doc/posix-functions/vdprintf.texi +++ b/doc/posix-functions/vdprintf.texi @@ -42,4 +42,9 @@ BeOS. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/vfprintf.texi b/doc/posix-functions/vfprintf.texi index 179e67a6b..7f41c0d55 100644 --- a/doc/posix-functions/vfprintf.texi +++ b/doc/posix-functions/vfprintf.texi @@ -69,4 +69,9 @@ mingw. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/vprintf.texi b/doc/posix-functions/vprintf.texi index ac533888b..213461c9f 100644 --- a/doc/posix-functions/vprintf.texi +++ b/doc/posix-functions/vprintf.texi @@ -69,4 +69,9 @@ mingw. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/vsnprintf.texi b/doc/posix-functions/vsnprintf.texi index 9784f6d63..8f6d90376 100644 --- a/doc/posix-functions/vsnprintf.texi +++ b/doc/posix-functions/vsnprintf.texi @@ -89,4 +89,9 @@ HP-UX 11, OSF/1 5.1. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize diff --git a/doc/posix-functions/vsprintf.texi b/doc/posix-functions/vsprintf.texi index 82c79492a..317853885 100644 --- a/doc/posix-functions/vsprintf.texi +++ b/doc/posix-functions/vsprintf.texi @@ -61,4 +61,9 @@ MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0. Portability problems not fixed by Gnulib: @itemize +@item +This function mishandles large floating point precisions +(for example, formatting 1.0 with @samp{"%.511f"}) +on some platforms: +Solaris 10. @end itemize