nanosleep: simplify carrying
[gnulib.git] / ChangeLog
index 6509252..8e39acf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,264 @@
+2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       nanosleep: simplify carrying
+       * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
+       first call to the underyling nanosleep, not for the last one.
+       This doesn't fix any bugs, but it simplifies the computation of
+       the remaining delay.  Found while auditing integer overflow issues.
+
+       dup2: remove test for existence of fcntl
+       * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
+       "#if HAVE_FCNTL", in the configure-time test program.
+       This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
+       and therefore speeds up "configure" a bit.  Found while
+       adding the dup2 module to Emacs.
+
+2011-06-24  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: enhance useless header checks
+       * top/maint.mk (_sc_header_without_use): Check both include
+       styles.
+       (sc_prohibit_assert_without_use)
+       (sc_prohibit_close_stream_without_use)
+       (sc_prohibit_getopt_without_use)
+       (sc_prohibit_quotearg_without_use)
+       (sc_prohibit_quote_without_use)
+       (sc_prohibit_long_options_without_use)
+       (sc_prohibit_inttostr_without_use)
+       (sc_prohibit_ignore_value_without_use)
+       (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
+       (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
+       (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
+       (sc_prohibit_hash_pjw_without_use)
+       (sc_prohibit_safe_read_without_use)
+       (sc_prohibit_argmatch_without_use)
+       (sc_prohibit_canonicalize_without_use)
+       (sc_prohibit_root_dev_ino_without_use)
+       (sc_prohibit_openat_without_use)
+       (sc_prohibit_c_ctype_without_use)
+       (sc_prohibit_signal_without_use)
+       (sc_prohibit_stdio--_without_use)
+       (sc_prohibit_stdio-safer_without_use)
+       (sc_prohibit_strings_without_use)
+       (sc_prohibit_intprops_without_use)
+       (sc_prohibit_stddef_without_use)
+       (sc_prohibit_xfreopen_without_use): Update clients.
+
+2011-06-24  Jim Meyering  <meyering@redhat.com>
+
+       syntax-check: keep one maint.mk rule in sync with its header
+       * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
+       of the bug Eric has just fixed, with today's commit 25e4c2ec.
+       I prefer to avoid temporary files here, so use <(...), but that
+       is not supported by /bin/sh, so...
+       (SHELL): Define to /bin/bash.
+
+2011-06-24  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: update sc_prohibit_intprops_without_use
+       * top/maint.mk (_intprops_names): Match recent changes.
+
+2011-06-24  Bruno Haible  <bruno@clisp.org>
+
+       strerror-override: No-op tweak.
+       * lib/strerror-override.h (strerror_override): Reorder conditions,
+       for consistency with lib/strerror-override.c.
+
+2011-06-23  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: test further PATH_MAX issues
+       * top/maint.mk (sc_prohibit_path_max_array): Rename...
+       (sc_prohibit_path_max_allocation): ...and also test alloca.
+       Suggested by Jim Meyering.
+
+2011-06-22  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: add syntax-check to avoid char[PATH_MAX]
+       * top/maint.mk (sc_prohibit_path_max_array): New rule.
+
+       stat: be robust to PATH_MAX definition
+       * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
+       * modules/stat (Depends-on): Add verify.
+
+       link: work around IRIX bug
+       * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
+       * lib/link.c (rpl_link): Work around it.
+       * tests/test-link.h (test_link): Enhance test.
+       * doc/posix-functions/link.texi (link): Document the bug.
+
+       getopt: silence clang warning
+       * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
+       dereference.
+       Reported by Gustavo Martin Domato.
+
+2011-06-22  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: do not insert a blank line into each .gitignore file
+       * build-aux/bootstrap (sort_patterns): Filter out blank lines.
+
+2011-06-21  Eric Blake  <eblake@redhat.com>
+
+       perror: test for output mismatch
+       * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
+       perror on IRIX.
+
+       strerror_r: fix OpenBSD behavior on out-of-range
+       * lib/strerror_r.c (strerror_r): Always use maximal string.
+       * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
+
+       strerror_r: fix OpenBSD behavior on 0
+       * lib/strerror-override.c (strerror_override): Also override 0
+       when needed.
+       * lib/strerror-override.h (strerror_override): Likewise.
+       * lib/strerror.c (strerror): Simplify, now that 0 override is done
+       earlier.
+       * lib/strerror_r.c (strerror_r): Likewise.
+       * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
+       behavior...
+       (gl_FUNC_STRERROR_0): ...into new macro.
+       * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
+       is overridden.
+       (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
+       * modules/strerror-override (Files): Add strerror.m4.
+       (configure.ac): Also provide override for 0 when needed.
+       * doc/posix-functions/strerror.texi (strerror): Document this.
+       * doc/posix-functions/perror.texi (perror): Likewise.
+
+       perror: adjust array size
+       * modules/perror (Depends-on): Add strerror-override.
+       * lib/perror.c (perror): Use it to avoid magic number.
+
+       strerror-override: reduce size
+       * lib/strerror-override.c (strerror_override): Use fewer lines.
+
+2011-06-20  Bruno Haible  <bruno@clisp.org>
+
+       pathmax: Ensure correct value for PATH_MAX on HP-UX.
+       * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
+
+2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       alloca: port to compilers that can optimize like GCC 4.6.0
+       * lib/alloca.c (find_stack_direction): New signature, taken from
+       Autoconf git.  This works with GCC 4.6.0.  This code should never
+       be used with GCC 4.6.0 itself, as GCC has alloca, but it might
+       be used with other compilers that optimize as well as GCC 4.6.0 does.
+       (alloca): Adjust to new signature.
+       * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
+       New macro, which patches Autoconf in a similar way.
+
+       c-stack: stop worrying about stack direction
+       * lib/c-stack.c (find_stack_direction): Remove.
+       (segv_handler): Don't worry about stack direction growth, as it's
+       too much of a pain to configure this correctly, given how compilers
+       are optimizing-away our stack-growth detection code.  Instead, assume
+       that any access to just before or just after the stack is OK.
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
+       Don't require AC_FUNC_ALLOCA; no longer needed.
+
+2011-06-20  Eric Blake  <eblake@redhat.com>
+
+       test-stat: don't allocate PATH_MAX bytes
+       * tests/test-stat.h (test_stat_func): Don't stack-allocate a
+       PATH_MAX-sized buffer.
+       * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
+       * modules/stat-tests (Depends-on): Likewise.
+       * tests/test-fstatat.c (includes): Drop pathmax.h.
+       * tests/test-stat.c (includes): Likewise.
+       Reported by Bruno Haible.
+
+2011-06-20  Bruno Haible  <bruno@clisp.org>
+
+       float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
+       * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
+       * lib/float.c: New file.
+       * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
+       REPLACE_FLOAT_LDBL.
+       * modules/float (Files): Add lib/float.c.
+       (configure.ac): Invoke AC_LIBOBJ.
+       * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
+
+2011-06-20  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'float'.
+       * modules/float-tests: New file.
+       * tests/test-float.c: New file.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       isinf: Coding style.
+       * lib/isinf.c: Use GNU coding style.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       linkat test: Avoid test failure on AIX 7.1.
+       * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
+       * tests/test-link.h (test_link): Likewise.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       pread test: Avoid test failure on OpenBSD 4.9.
+       * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       sprintf-posix: Fix test failure on AIX 7.1.
+       * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
+       * doc/posix-functions/dprintf.texi: Mention limited precision problem
+       on AIX.
+       * doc/posix-functions/fprintf.texi: Likewise.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/snprintf.texi: Likewise.
+       * doc/posix-functions/sprintf.texi: Likewise.
+       * doc/posix-functions/vdprintf.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+       * doc/posix-functions/vsnprintf.texi: Likewise.
+       * doc/posix-functions/vsprintf.texi: Likewise.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       roundl-ieee: Fix test failure on AIX 7.1.
+       * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
+       * doc/posix-functions/roundl.texi: Mention problem with negative
+       arguments.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
+       * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
+       * doc/posix-functions/round.texi: Mention problem with negative
+       arguments.
+       * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
+       * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
+       * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
+       * doc/posix-functions/roundf.texi: Mention problem with negative
+       arguments.
+       * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       ceilf-ieee: Work around bug on MacOS X 10.5.
+       * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
+
+       floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
+       * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
+       IEEE compliant, avoid compiler optimizations.
+       * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
+       * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
+       * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
+       * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
+       * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
+       * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
+       * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
+       * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
+       * m4/round.m4 (gl_FUNC_ROUND): Likewise.
+       * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
+
 2011-06-19  Bruno Haible  <bruno@clisp.org>
 
        ceilf-ieee: Work around bug on AIX 7.1.