doc: document Solaris printf bug with large float precisions
[gnulib.git] / ChangeLog
index b8af664..276a1ca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,87 @@
+2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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
+       around this bug; this is merely to document it.
+
+2010-12-22  Bruno Haible  <bruno@clisp.org>
+
+       getlogin_r: Work around portability problem on OSF/1.
+       * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
+       * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
+       * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
+       test for a truncated result.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
+       * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
+       * modules/getlogin_r (Depends-on): Add memchr.
+       * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
+
+2010-12-22  Bruno Haible  <bruno@clisp.org>
+
+       ptsname: Avoid test failure on OSF/1 5.1.
+       * modules/ptsname-tests (Depends-on): Add 'same-inode'.
+       * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
+       (same_slave): New function.
+       (main): Use it to compare ptsname's result with the expected file name.
+
+2010-12-22  Bruno Haible  <bruno@clisp.org>
+
+       Port extended stdio modules to HP NonStop Kernel.
+       * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
+       macros.
+       * lib/fbufmode.c: Update comments.
+       * lib/fflush.c: Likewise.
+       * lib/fpurge.c: Likewise.
+       * lib/freadable.c: Likewise.
+       * lib/freadahead.c: Likewise.
+       * lib/freading.c: Likewise.
+       * lib/freadptr.c: Likewise.
+       * lib/freadseek.c: Likewise.
+       * lib/fseeko.c: Likewise.
+       * lib/fseterr.c: Likewise.
+       * lib/fwritable.c: Likewise.
+       * lib/fwriting.c: Likewise.
+       Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
+
+2010-12-22  Bruno Haible  <bruno@clisp.org>
+
+       ttyname_r: Work around bug on OSF/1 5.1.
+       * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
+       * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
+       instead of "guessing no" when the OSF/1 bug or the Solaris bug is
+       present.
+       * lib/ttyname_r.c (ttyname_r): Update comments.
+
 2010-12-22  Bruno Haible  <bruno@clisp.org>
 
+       round: Implement result sign according to IEEE 754.
+       * lib/round.c (MIN, MINUS_ZERO): New macros.
+       (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
+       * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
+       * tests/test-round-ieee.c (main): Likewise.
+       * tests/test-roundl-ieee.c (main): Likewise.
+
        trunc: Implement result sign according to IEEE 754.
        * lib/trunc.c (MIN, MINUS_ZERO): New macros.
        (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.