+2011-07-03 Bruno Haible <bruno@clisp.org>
+
+ Comments about EINTR.
+ * lib/safe-read.h: Explain the purpose of this module.
+ * lib/safe-write.h: Likewise.
+ * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
+ module.
+ * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
+ module.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2011-06-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ xnanosleep: Rewrite to use new dtotimespec module.
+ It has the conversion code that used to be in xnanosleep.
+ * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
+ assert.h, sys/types.h, or intprops.h. Include timespec.h instead.
+ (TIME_T_MAX): Remove.
+ (xnanosleep): Rewrite in terms of dtotimespec.
+ * modules/xnanosleep (Depends-on): Add dtotimespec.
+ Remove intprops, stdbool.
+
+ timespec-add, timespec-sub: new modules
+ * lib/timespec.h (timespec_add, timespec_sub): New decls.
+ * lib/timespec-add.c, lib/timespec-sub.c:
+ * modules/timespec-add, modules/timespec-sub: New files.
+
+ dtotimespec: new module
+ * lib/timespec.h (dtotimespec): New decl.
+ * lib/dtotimespec.c, modules/dtotimespec: New files.
+
+ * lib/timespec.h (timespec_sign, timespectod): New inline functions.
+
+ pselect: new module
+ * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
+ (pselect): New decls.
+ * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
+ since the standard pselect decl uses 'restrict'.
+ (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
+ HAVE_PSELECT, REPLACE_PSELECT.
+ * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
+ HAVE_PSELECT, REPLACE_PSELECT.
+ * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
+
+ sys_select: don't depend on sys_socket
+ This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
+ This fix works on GNU and GNU-like platforms, but has not been tested
+ on native Windows.
+ * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
+ * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
+ gl_HEADER_SYS_SOCKET.
+ * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
+ gl_PREREQ_SYS_H_WINSOCK2.
+
+2011-06-29 Eric Blake <eblake@redhat.com>
+
+ pipe2: fix C89 compile problem
+ * lib/pipe2.c (pipe2): Avoid C99 array initialization.
+ Reported by Bruno Haible.
+
+ pipe, pipe2: don't corrupt fd on error
+ * lib/pipe.c (pipe): Leave fd unchanged on error.
+ * lib/pipe2.c (pipe2): Likewise.
+ * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
+ * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
+
+2011-06-27 Paolo Bonzini <bonzini@gnu.org>
+
+ mmap-anon: do not use regular expressions inadvertently
+ * m4/mmap-anon.m4: Remove trailing period from strings sought
+ in the output.
+
+2011-06-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ nanosleep: fix integer overflow problem
+ * lib/nanosleep.c (my_usleep): Don't assume signed integer
+ arithmetic wraps around on overflow.
+
+ 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.
+ * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
+ * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
+
+2011-06-19 Bruno Haible <bruno@clisp.org>
+
+ ceil-ieee: Work around bug on AIX 7.1.
+ * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
+ * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ fsync test: Avoid test failure on MacOS X and AIX.
+ * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
+ EINVAL.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ openat, fdopendir tests: Fix link errors.
+ * modules/openat-tests (Depends-on): Add progname.
+ * modules/fdopendir-tests (Depends-on): Likewise.
+ * tests/test-fchownat.c: Include progname.h.
+ (main): Call set_program_name.
+ * tests/test-fstatat.c: Include progname.h.
+ (main): Call set_program_name.
+ * tests/test-mkdirat.c: Include progname.h.
+ (main): Call set_program_name.
+ * tests/test-openat.c: Include progname.h.
+ (main): Call set_program_name.
+ * tests/test-unlinkat.c: Include progname.h.
+ (main): Call set_program_name.
+ * tests/test-fdopendir.c: Include progname.h.
+ (main): Call set_program_name.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ Doc update.
+ * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
+ HP-UX.
+ * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ getcwd tests: Avoid compilation error on HP-UX 11.31.
+ * modules/getcwd-tests (Depends-on): Add pathmax.
+ * tests/test-getcwd.c: Include pathmax.h.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ isfinite, isinf: Fix link error on AIX 6 and 7.
+ * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
+ needed, also test the macro with a 'float' argument.
+ * m4/isinf.m4 (gl_ISINF): Likewise.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ getloadavg: Don't clobber LIBS. Regression from previous commit.
+ * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
+ AC_CHECK_LIB from here...
+ (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
+ (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
+ gl_func_getloadavg_done.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-06-18 Bruno Haible <bruno@clisp.org>
+
+ clean-temp: Improve documentation.
+ * lib/clean-temp.h: Explain better how to use this module.
+ Reported by John Darrington <john@darrington.wattle.id.au>.
+
+2011-06-17 Bruno Haible <bruno@clisp.org>
+
+ pread, pwrite: Avoid cc warning on AIX.
+ * lib/unistd.in.h (pread): Undefine before defining as a macro.
+ (pwrite): Likewise.
+
+2011-06-17 Bruno Haible <bruno@clisp.org>
+
+ spawn-pipe tests: Fix link error.
+ * tests/test-spawn-pipe-child.c: Undefine fprintf.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-06-17 Bruno Haible <bruno@clisp.org>
+
+ Tests: Remove unnecessary dependency.
+ * modules/canonicalize-tests (Depends-on): Remove progname.
+ * modules/chown-tests (Depends-on): Likewise.
+ * modules/dirname-tests (Depends-on): Likewise.
+ * modules/fdopendir-tests (Depends-on): Likewise.
+ * modules/fdutimensat-tests (Depends-on): Likewise.
+ * modules/hash-tests (Depends-on): Likewise.
+ * modules/lchown-tests (Depends-on): Likewise.
+ * modules/linkat-tests (Depends-on): Likewise.
+ * modules/renameat-tests (Depends-on): Likewise.
+ * modules/spawn-pipe-tests (Depends-on): Likewise.
+ * modules/utimensat-tests (Depends-on): Likewise.
+
2011-06-17 Bruno Haible <bruno@clisp.org>
spawn-pipe tests: Fix link error.