New module 'waitpid'.
[gnulib.git] / ChangeLog
index e2b773c..6ca0444 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,606 @@
+2010-09-29  Bruno Haible  <bruno@clisp.org>
+
+       New module 'waitpid'.
+       * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
+       * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
+       Don't include <process.h>.
+       (waitpid): Declare only, using modern idiom.
+       * m4/waitpid.m4: New file.
+       * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
+       * modules/waitpid: New file.
+       * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
+       (Makefile.am): Update.
+       Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
+
+2010-09-28  Bruno Haible  <bruno@clisp.org>
+
+       poll: Assume ANSI C.
+       * lib/poll.c (poll): Use an ANSI C declaration.
+
+2010-09-28  Bruno Haible  <bruno@clisp.org>
+
+       poll-h: Create poll.h on all platforms.
+       * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
+       struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
+       * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
+       gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
+       (gl_REPLACE_POLL_H): Don't set POLL_H.
+       (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
+       * modules/poll-h (Depends-on): Add include_next.
+       (Makefile.am): Create poll.h unconditionally. Substitute also
+       HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
+
+2010-09-28  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'poll-h'.
+       * modules/poll-h-c++-tests: New file.
+       * tests/test-poll-h-c++.cc: New file.
+
+       Tests for module 'poll-h'.
+       * modules/poll-h-tests: New file.
+       * tests/test-poll-h.c: New file.
+
+2010-09-28  Bruno Haible  <bruno@clisp.org>
+
+       poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
+       * modules/poll-h (Depends-on): Add 'extensions'.
+
+2010-09-28  Bruno Haible  <bruno@clisp.org>
+
+       New module 'poll-h'.
+       * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
+       (poll): Use modern idiom.
+       * modules/poll-h: New file.
+       * modules/poll (Files): Remove lib/poll.in.h.
+       (Depends-on): Add poll-h.
+       (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
+       (Makefile.am): Move code for generation of poll.h to modules/poll-h.
+       * m4/poll_h.m4: New file.
+       * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
+       here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
+       and invoke gl_REPLACE_POLL_H.
+       * lib/poll.c: Use common idiom.
+       * tests/test-poll.c: Likewise.
+       * doc/posix-headers/poll.texi: Mention the poll-h module.
+       Suggested by Eric Blake.
+
+2010-09-26  Bruno Haible  <bruno@clisp.org>
+
+       sys_wait: Implement WSTOPSIG.
+       * lib/sys_wait.in.h (WSTOPSIG): New macro.
+       Reported by Simon Josefsson.
+
+2010-09-26  Simon Josefsson  <simon@josefsson.org>
+
+       stdlib, sys_wait: Avoid compilation error on mingw.
+       * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
+
+2010-09-26  Bruno Haible  <bruno@clisp.org>
+
+       stdlib tests: Avoid code duplication.
+       * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
+       * modules/sys_wait-tests (Files): Likewise.
+       * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
+       * tests/test-stdlib.c: Include test-sys_wait.h.
+       (main): Invoke test_sys_wait_macros.
+       * tests/test-sys_wait.c: Include test-sys_wait.h.
+       (main): Invoke test_sys_wait_macros.
+
+2010-09-25  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/getaddrinfo (Depends-on): Depend on the sockets module.
+       * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
+       sure Windows sockets are working before calling getaddrinfo.
+       * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
+       * doc/gnulib.texi (Windows sockets): Fix typo.
+
+2010-09-25  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'regex-quote'.
+       * modules/regex-quote-tests: New file.
+       * tests/test-regex-quote.c: New file.
+
+       New module 'regex-quote'.
+       * lib/regex-quote.h: New file.
+       * lib/regex-quote.c: New file.
+       * modules/regex-quote: New file.
+       Suggested by Reuben Thomas <rrt@sc3d.org>.
+
+2010-09-24  Bruno Haible  <bruno@clisp.org>
+
+       unistr/u8-strchr: Fix a test failure on i586 glibc systems.
+       * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
+
+2010-09-23  Bruno Haible  <bruno@clisp.org>
+
+       setenv: Relax license.
+       * modules/setenv (License): Change to LGPLv2+, with consent by Eric
+       Blake.
+       Requested by Eric Blake.
+
+2010-09-22  Bruno Haible  <bruno@clisp.org>
+
+       termios: Relax license.
+       * modules/termios (License): Change to LGPLv2+.
+       Requested by Eric Blake.
+
+2010-09-22  Bruno Haible  <bruno@clisp.org>
+
+       threadlib: Allow the package to change the default to 'no'.
+       * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
+       gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
+       Reported by Paul Eggert.
+
+2010-09-22  Pádraig Brady  <P@draigbrady.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       Fix endless loop in mbmemcasecoll.
+       * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
+       byte.
+       * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
+
+2010-09-22  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'memcoll'.
+       * modules/memcoll-tests: New file.
+       * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
+
+       memcoll, xmemcoll: Clarify size vs. length.
+       * modules/memcoll.c (memcoll0): Clarify specification.
+       * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
+       passed to collate_error.
+
+2010-09-22  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'memcasecmp'.
+       * modules/memcasecmp-tests: New file.
+       * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
+
+2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/pthread.in.h: Add split double-inclusion guard, and include
+       system <pthread.h> if there is one.  Use @@-style as in other
+       .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
+       pthread.h doesn't.
+       (pthread_mutexattr_destroy, pthread_mutexattr_init):
+       (pthread_mutexattr_settype, pthread_mutex_trylock):
+       New static inline functions, if there's no system <pthread.h>.
+       (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
+       (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
+       Approximate with mutexes if the system lacks spinlocks, as in
+       MacOS.
+       * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
+       Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
+       @@-style.  Check for spinlocks separately.
+       (gl_PTHREAD_DEFAULTS): New macro.
+       * modules/pthread: Redo to use a more typical style for in.h files.
+
+2010-09-21  Eric Blake  <eblake@redhat.com>
+
+       net_if: enhance tests
+       * tests/test-net_if.c (main): Move signature checks earlier.
+       Print failures to stderr.
+       * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
+       Document the bug that we do not yet fix.
+
+2010-09-21  Reuben Thomas  <rrt@sc3d.org>
+
+       * doc/gnulib.texi (Out of memory handling): Rewrite section to be
+       about gnulib, not GSS.
+
+2010-09-21  Reuben Thomas  <rrt@sc3d.org>
+
+       * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
+       * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
+       for Emacs.
+       * build-aux/pmccabe2html: Make Makefile.am example code more
+       cut-and-paste friendly.
+
+2010-09-21  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-net_if.c: New file.
+       * modules/net_if-tests: New file.
+
+2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       pthread: add pthread_spin_destroy
+       * lib/pthread.in.h (pthread_spin_destroy): New function.
+
+2010-09-19  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix --help output.
+       * gnulib-tool (func_usage): Fix help message.
+       Reported by Reuben Thomas <rrt@sc3d.org>.
+
+2010-09-18  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: avoid unexpanded \n in two diagnostics
+       * top/maint.mk (sc_prohibit_always_true_header_tests):
+       Don't use a literal \n in a halt=... assignment.  It would not be
+       expanded, and the two \n bytes would appear in the diagnostic output
+       rather than the desired newline.  Use halt=$$(printf ... instead.
+       (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
+
+2010-09-18  Bruno Haible  <bruno@clisp.org>
+
+       netinet_in: Doc tweak.
+       * doc/posix-headers/netinet_in.texi: Mention an affected platform.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-18  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: correct an outdated comment
+       * tests/init.sh (create_exe_shims_):  s/function/alias/
+
+       init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
+       * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
+       a file named "*.exe" is removed between the glob expansion and the
+       processing of that oddly named file.
+
+2010-09-17  Eric Blake  <eblake@redhat.com>
+
+       mirbsd: add some more support
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
+       in BSD family.
+       * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
+       devices as OpenBSD.
+       * m4/host-os.m4 (mirbsd): Add MirBSD.
+
+       tests: fix unportable assumption on sys/wait.h
+       * tests/test-sys_wait.c (main): Relax test.
+       * tests/test-stdlib.c (main): Likewise.
+
+       init.sh: accomodate directory with no .exes
+       * tests/init.sh: Accomodate directory containing only scripts.
+
+       tests: avoid compiler warning
+       * tests/test-stdlib.c (main): Use the variable.
+
+       fdutimens, fdutimensat: update signature, again
+       * lib/utimens.h (gl_futimens): Delete, and move signature...
+       (fdutimens): ...here.
+       (fdutimensat): Rearrange signature.
+       (lutimensat): Rename variable for clarity.
+       * lib/fdutimensat.c (fdutimensat): Update signature.
+       * lib/utimens.c (fdutimens): Likewise.
+       (gl_futimens): Delete.
+       (utimens, lutimens): Update callers.
+       * lib/futimens.c (futimens): Likewise.
+       * tests/test-fdutimensat.c: Likewise.
+       * tests/test-utimens.c: Likewise.
+       * tests/test-futimens.h: Update comment.
+       * NEWS: Mention this.
+       Suggested by Paul Eggert.
+
+2010-09-17  Bruno Haible  <bruno@clisp.org>
+
+       Take over the maintenance of some older macros from Autoconf.
+       * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
+       * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
+       GNU Autoconf.
+       * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
+
+2010-09-17  Eric Blake  <eblake@redhat.com>
+
+       fdutimensat: drop atflag validation
+       * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
+       with valid fd, to close a race scenario where futimens is
+       unsupported and FILE was replaced by a symlink.
+       * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
+       accordingly.
+       Suggested by Paul Eggert.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt: Fix declaration within GNULIB_POSIXCHECK.
+       * lib/stdlib.in.h (unlockpt): Fix warning declaration.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
+       * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
+       login_tty exists.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Make the replacement code work on BSD systems.
+       * lib/login_tty.c: Include <sys/ioctl.h>.
+       (login_tty): Use ioctl TIOCSCTTY when available.
+       * modules/login_tty (Depends-on): Add sys_ioctl.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Stricter unit test.
+       * modules/login_tty-tests (Depends-on): Add tcgetsid.
+       * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
+       and tcgetsid() after login_tty.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       New module 'tcgetsid'.
+       * lib/tcgetsid.c: New file.
+       * m4/tcgetsid.m4: New file.
+       * modules/tcgetsid: New file.
+       * modules/termios (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
+       GNULIB_TCGETSID, HAVE_TCGETSID.
+       * lib/termios.in.h: Include <sys/types.h>.
+       (tcgetsid): New declaration.
+       * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
+       (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
+       * doc/posix-functions/tcgetsid.texi: Mention the new module.
+       * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'termios'.
+       * modules/termios-c++-tests: New file.
+       * modules/termios-tests: New file.
+       * tests/test-termios-c++.cc: New file.
+       * tests/test-termios.c: New file.
+
+       New module 'termios'.
+       * modules/termios: New file.
+       * lib/termios.in.h: New file.
+       * m4/termios_h.m4: New file.
+       * doc/posix-headers/termios.texi: Mention the new module.
+
+2010-09-16  Eric Blake  <eblake@redhat.com>
+
+       fdutimensat: add an atflag parameter
+       * lib/fdutimensat.c (fdutimensat): Add new parameter.
+       * lib/utimens.h (fdutimensat): Update prototype.
+       * tests/test-fdutimensat.c: Adjust test to match.
+       * NEWS: Document the change.
+       Suggested by Paul Eggert.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       Fix typos in comments.
+       * lib/striconveh.h: Fix typo in comment.
+       * lib/login_tty.c (login_tty): Likewise.
+
+2010-09-15  Bruno Haible  <bruno@clisp.org>
+
+       stdlib: clarify MirBSD WEXITSTATUS bug
+       * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
+2010-09-15  Eric Blake  <eblake@redhat.com>
+
+       stdlib: work around MirBSD WEXITSTATUS bug
+       * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
+       * modules/stdlib (Depends-on): Add sys_wait.
+       * tests/test-sys_wait.c (main): Enhance test.
+       * tests/test-stdlib.c (main): Likewise.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
+
+       docs: mention MacOS issue with WEXITSTATUS(constant)
+       * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
+       issue.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
+       strnlen: add tests
+       * modules/strnlen-tests: New file.
+       * tests/test-strnlen.c: Likewise.
+
+2010-09-14  Bruno Haible  <bruno@clisp.org>
+
+       unistr/base: Avoid link errors when module 'libunistring' is also used.
+       * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
+       u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
+       u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
+       Declare also when HAVE_LIBUNISTRING is set.
+       Reported by Pádraig Brady <P@draigbrady.com>.
+
+2010-09-14  Eric Blake  <eblake@redhat.com>
+
+       test-rawmemchr: make more robust
+       * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
+       (Depends-on, configure.ac): Add needed prerequisites to use it.
+       * modules/memchr-tests (Files, Depends-on, configure.ac):
+       Likewise, to avoid implicit reliance on memchr module prereqs.
+       * tests/test-memchr.c (main): Ensure proper masking.
+       * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
+       reads.
+
+       memchr: detect glibc Alpha bug
+       Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
+       * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
+       Alpha.
+       * doc/posix-functions/memchr.texi (memchr): Tweak wording.
+       * tests/test-memchr.c (main): Enhance test.
+       Reported by Nelson H. F. Beebe.
+
+2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fts, getcwd, glob: audit for dirfd returning -1
+       * lib/fts.c (opendir): Remove #define; no longer used.
+       (opendirat): New arg PDIR_FD.  All callers changed.
+       (fts_build, _opendir2): Use new opendirat to avoid the need for
+       dirfd, or for checking whether dirfd returns a negative value.
+       Don't use opendir; always use openat followed by fdopendir.
+       * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
+       it.
+       * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
+       returns -1 here.
+       * modules/fts (Depends-on): Remove dirfd.
+       * modules/getcwd (Depends-on): Likewise.
+
+2010-09-13  Eric Blake  <eblake@redhat.com>
+
+       float: fix broken MirBSD header
+       * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
+       * doc/posix-headers/float.texi (float.h): Document it.
+
+2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fts: use O_NOFOLLOW to avoid race condition when opening a directory
+       * lib/fts.c (opendirat): New arg extra_flags.
+       (__opendir2): Use it to avoid following symlinks when opening
+       a directory, if symlinks are not supposed to be followed.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
+
+       fdopendir: preserve argument fd before returning
+       * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
+       (fdopendir_with_dup, fd_clone_opendir): New static functions.
+       (fdopendir): Use them, arranging for FD to be open to the same
+       directory that it was when it started.  (It might be temporarily
+       closed while fdopendir is running, so this not thread- or
+       signal-safe.)  Be careful to do the right thing even when file
+       descriptors are scarce and dup fails with errno == EMFILE.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
+
+2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       regex: Pass the system regex if its only problem is 32-bit regoff_t.
+       * NEWS: Document change.
+       * m4/regex.m4: Disable test for regoff_t size.
+
+2010-09-13  Jim Meyering  <meyering@redhat.com>
+
+       fts: don't operate on an invalid file descriptor after failed dup
+       * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
+       negative file descriptor.
+
+2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       savedir: add streamsavedir, deprecate fdsavedir
+       * NEWS: Mention deprecation of fdsavedir.
+       * lib/savedir.c (streamsavedir): New extern function, whose name
+       ends in "savedir" to be consistent with the others.  This differs
+       from savedirstream in that it doesn't close its argument.  The
+       next version of GNU tar will use this instead of fdsavedir, to
+       avoid some race conditions and conserve file descriptors.
+       (savedirstream): Reimplement as a wrapper around streamsavedir.
+       (fdsavedir): Add a comment deprecating this function.  As far as
+       I know, only GNU tar used it, and GNU tar doesn't need it any more.
+       * lib/savedir.h (streamsavedir): New decl.
+       (fdsavedir): Add a comment deprecating this.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       langinfo: Fix last commit.
+       * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
+       HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
+       * lib/progreloc.c (O_EXEC): Define fallback.
+
+2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
+       * NEWS: Document recent changes to fcntl-h.
+       * doc/posix-headers/fcntl.texi (fcntl.h): Document that
+       O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
+       Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
+       Similarly for O_SEARCH; this last was already true, but not documented.
+       * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
+       * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
+       * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
+       Likewise.
+       * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
+       is zero, not whether it is defined.
+       * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
+       * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
+       * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       langinfo, nl_langinfo: Fix for IRIX 5.3.
+       * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
+       T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
+       HAVE_LANGINFO_YESEXPR.
+       * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
+       HAVE_LANGINFO_YESEXPR.
+       * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
+       HAVE_LANGINFO_T_FMT_AMPM is 0.
+       (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
+       HAVE_LANGINFO_YESEXPR is 0.
+       * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
+       NOEXPR.
+       * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
+       * doc/posix-functions/nl_langinfo.texi: Likewise.
+       Reported by Eric Blake.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
+       * doc/glibc-functions/login_tty.texi: Mention the include file problem
+       on FreeBSD 8.0 and OpenBSD 4.6.
+       * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
+       * m4/pty_h.m4 (gl_PTY_H): Likewise.
+       * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
+       * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
+       Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
+       ac_includes_default.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-09  Eric Blake  <eblake@redhat.com>
+
+       strsignal: work around NetBSD bug
+       * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
+       * lib/string.in.h (includes): Likewise.
+       * doc/posix-functions/strsignal.texi (strsignal): Document the
+       bug.
+       Reported by Nelson H. F. Beebe.
+
+       gnulib-tool: work with NetBSD /bin/sh
+       * gnulib-tool (func_cache_var, func_cache_lookup_module)
+       (func_get_description, func_get_comment, func_get_status)
+       (func_get_notice, func_get_applicability, func_get_filelist)
+       (func_get_dependencies, func_get_autoconf_early_snippet)
+       (func_get_autoconf_snippet, func_get_automake_snippet)
+       (func_get_include_directive, func_get_link_directive)
+       (func_get_license, func_get_maintainer, func_import): Avoid
+       shell syntax errors from parsing syntax extensions.
+
+2010-09-09  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
+       * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
+       a reliable way to determine whether the 'alias' command works.
+
+2010-09-08  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: penalize a set-x-impaired shell; don't disqualify it
+       * tests/init.sh: Too many shells corrupt application stderr when
+       you set -x, so we can't afford to disqualify them, since at least
+       on Irix-6.5, that would disqualify all bourne shells.
+       Instead, use a two-pass approach.
+       On the first pass, try to find a shell that meets the stricter
+       condition that set -x does not corrupt stderr.
+       If no shell meets the stricter condition, retest each candidate
+       shell, but without that extra condition.  Finally, when
+       VERBOSE=yes is requested and set -x might cause trouble, simply
+       issue a warning and refrain from enabling debug output.
+
+2010-09-08  Eric Blake  <eblake@redhat.com>
+
+       unsetenv: fix OpenBSD bug
+       * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
+       * doc/posix-functions/unsetenv.texi (unsetenv): Update
+       documentation.
+       Reported by Jim Meyering.
+
+       strtod: work around IRIX 6.5 bug
+       * lib/strtod.c (strtod): Reparse number on shorter string if
+       exponent parse was invalid.
+       * tests/test-strtod.c (main): Add check for "0x1p 2".
+       Reported by Tom G. Christensen.
+
+       getopt: optimize previous patch
+       * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
+       empty variable.  Speed up awk script.
+       Reported by Paolo Bonzini.
+
 2010-09-08  Jim Meyering  <meyering@redhat.com>
 
        test.sh: disqualify shells for which set -x corrupts stderr
 2010-09-08  Jim Meyering  <meyering@redhat.com>
 
        test.sh: disqualify shells for which set -x corrupts stderr
        glibc, and refer the reader there. Keep BSD API documentation, as
        that is not readily available elsewhere.
 
        glibc, and refer the reader there. Keep BSD API documentation, as
        that is not readily available elsewhere.
 
-2010-09-08  Eric Blake  <eblake@redhat.com>
-
-       getopt: optimize previous patch
-       * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
-       empty variable.  Speed up awk script.
-       Reported by Paolo Bonzini.
-
 2010-09-07  Eric Blake  <eblake@redhat.com>
 
        getopt: handle POSIXLY_CORRECT set but not exported
 2010-09-07  Eric Blake  <eblake@redhat.com>
 
        getopt: handle POSIXLY_CORRECT set but not exported