strerror: Move AC_LIBOBJ invocations to module description.
[gnulib.git] / ChangeLog
index eb0f674..59c64ae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,435 @@
+2011-05-22  Bruno Haible  <bruno@clisp.org>
+
+       strerror: Move AC_LIBOBJ invocations to module description.
+       * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
+       gl_PREREQ_STRERROR invocations from here...
+       * modules/strerror (configure.ac): ... to here.
+
+2011-05-21  Bruno Haible  <bruno@clisp.org>
+
+       perror: Use common idiom.
+       * modules/perror (configure.ac): Reorder statements.
+
+2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       tests: fix usage message in 'mktempd_'
+       * tests/init.sh (mktempd_): In the usage message, use literal
+       'mktempd_', not '$ME' (which is even undefined), as the name of
+       the subroutine.
+
+2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       tests init: new function 'fatal_', for hard errors
+       Before this patch, the only way offered by tests/init.sh to
+       properly signal a hard error was the `framework_failure_'
+       function.  But the error message issued by that function,
+       as its name would suggest, refers to a set-up failure in the
+       testsuite, while hard errors can obviously also be due to
+       other reasons.  The best way to fix this inconsistency is to
+       introduce a new function with a more general error message.
+       * tests/init.sh (fatal_): New function.
+
+2011-06-06  Eric Blake  <eblake@redhat.com>
+
+       canonicalize-lgpl: use common idiom
+       * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
+       over newer POSIX -Rf.
+       Reported by Bruno Haible.
+
+       canonicalize-lgpl: work around AIX realpath bug
+       * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
+       * doc/posix-functions/realpath.texi (realpath): Document it.
+       Reported by Bruno Haible.
+
+       strerror: work around FreeBSD bug
+       * lib/strerror.c (strerror): Special case 0.
+       Reported by Bruno Haible.
+
+       strerror-override: avoid bloating errno module
+       * modules/errno (Files, configure.ac): Move replacement strings...
+       * modules/strerror-override: ...to new module.
+       * modules/strerror (Depends-on): Add strerror-override.
+       * modules/strerror_r-posix (Depends-on): Likewise.
+       * MODULES.html.sh: Document new module.
+       Reported by Bruno Haible.
+
+2011-06-06  Bruno Haible  <bruno@clisp.org>
+
+       spawn-pipe tests: Rename program.
+       * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
+       * tests/test-spawn-pipe-child.c: Update comment.
+       * tests/test-spawn-pipe.sh: Update.
+       * modules/spawn-pipe-tests (Files, Makefile.am): Update.
+
+       spawn-pipe tests: Link the child program only against libc.
+       * tests/test-spawn-pipe-child.c: New file, extracted from
+       tests/test-spawn-pipe.c.
+       (main): Expect only one argument.
+       (is_open): New function, copied from tests/test-pipe.c.
+       * tests/test-spawn-pipe.c: Don't include <errno.h>.
+       (child_main): Remove function.
+       (test_pipe): Pass only one argument to the child program.
+       (main): Remove child process code. Expect the child program's name as
+       first argument.
+       * tests/test-spawn-pipe.sh: Pass the child program's name as first
+       argument.
+       * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
+       (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
+       test-spawn-pipe-child against no libraries.
+
+2011-06-06  Bruno Haible  <bruno@clisp.org>
+
+       careadlinkat: Avoid mismatch between ssize_t and int.
+       * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
+       * lib/careadlinkat.c (careadlinkatcwd): Define always.
+
+2011-06-06  Jim Meyering  <meyering@redhat.com>
+
+       gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
+       * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
+       _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       ansi-c++-opt: Interoperability with libtool.
+       * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
+       set the variable to "no", not to ":".
+       * NEWS: Mention the change.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       acl: Fix test failure on AIX 7.
+       * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
+       Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       pipe-filter-ii: Fix test failure on AIX and IRIX.
+       * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
+       with EAGAIN, retry with a smaller buffer size.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       localename: Fix link dependencies.
+       * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
+       * modules/localename-tests (Makefile.am): Link test-localename with
+       $(LIBTHREAD).
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       error: Avoid gcc warning.
+       * lib/error.c (strerror_r): Declare also when its return type is 'int'.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       unsetenv: Avoid gcc warning.
+       * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       setenv: Avoid gcc warning.
+       * lib/setenv.c (setenv): Provide declaration if system lacks it.
+
+2011-06-05  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Ensure memset is declared also on AIX 7.
+       * lib/sys_select.in.h: Include <string.h> also on AIX.
+       * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
+       self-contained also on AIX 7.1.
+
+2011-06-04  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
+       * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
+       function name, "error".
+       (_gl_translatable_diag_func_re): New configurable variable.
+
+2011-06-04  Bruno Haible  <bruno@clisp.org>
+
+       getopt: Avoid gcc warning.
+       * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
+
+2011-06-04  Bruno Haible  <bruno@clisp.org>
+
+       strerror_r: Fix comments.
+       * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
+       commit.
+
+2011-06-04  Bruno Haible  <bruno@clisp.org>
+
+       perror: Fix compilation error.
+       * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
+       Undefine fprintf, not sprintf.
+       * modules/perror (Depends-on): Remove intprops, verify.
+
+2011-06-04  Bruno Haible  <bruno@clisp.org>
+
+       setlocale: Enable replacement on Cygwin 1.5.
+       * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
+       Cygwin 1.5.x.
+       * doc/posix-functions/setlocale.texi: Mention that the problem with the
+       LC_CTYPE category also exists on Cygwin 1.5.x.
+
+2011-06-04  Bruno Haible  <bruno@clisp.org>
+
+       strerror-override: Don't disable symbol renamings.
+       * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
+       * lib/strerror-override.c: Include config.h.
+       (strerror_override): Don't undefine.
+
+2011-06-03  Bruno Haible  <bruno@clisp.org>
+
+       Copyright: Use LGPL 2.1 instead of LGPL 2.0.
+       * lib/localename.h: Update copyright header.
+       * lib/localename.c: Likewise.
+       * lib/relocatable.h: Likewise.
+       * lib/relocatable.c: Likewise.
+
+2011-06-02  Bruno Haible  <bruno@clisp.org>
+
+       doc: Fix a module name.
+       * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
+
+2011-06-02  Bruno Haible  <bruno@clisp.org>
+
+       pipe2: Remove dependency on 'nonblocking' module.
+       * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
+       O_NONBLOCK is defined by gnulib.
+       (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
+       is zero.
+       * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
+       * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
+       defined by gnulib.
+       (get_nonblocking_flag): New function.
+       (main): Test O_NONBLOCK flag only if it is nonzero.
+       * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
+
+2011-06-03  Jim Meyering  <meyering@redhat.com>
+
+       maint: three new prohibit-header-without-use rules
+       Prohibit use of cloexec.h, posixver.h, same.h without use.
+       * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
+       (sc_prohibit_posixver_without_use): Likewise.
+       (sc_prohibit_same_without_use): Likewise.
+
+2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       allocator: 'die' routine is now given requested size
+       * lib/allocator.h (struct allocator.die): New size arg.
+       * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
+       If the actual problem is an ssize_t limitation, not a size_t or
+       malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
+
+2011-06-01  Eric Blake  <eblake@redhat.com>
+
+       strerror: drop strerror_r dependency
+       * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
+       * lib/strerror-override.c (strerror_override): ...to new file.
+       * lib/strerror-override.h: Add prototype.
+       * lib/strerror-impl.h: Delete.
+       * lib/strerror.c (strerror): New implementation.
+       * modules/errno (Files): Add new files.
+       (configure.ac): Compile new file as appropriate.
+       * modules/strerror (Files): Drop unused file.
+       (Depends-on): Drop strerror_r-posix.
+       * MODULES.html.sh: Document strerror_r-posix.
+       Requested by Sam Steingold.
+
+       perror: call strerror_r directly
+       * modules/perror (Files): Drop strerror-impl.h.
+       * lib/perror.c (perror): Use our own stack buffer, rather than
+       calling a wrapper that uses static storage.
+       * doc/posix-functions/perror.texi (perror): Document a limitation
+       of our replacement.
+
+       strerror_r: fix includes for FreeBSD
+       * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
+       since we use abort on some platforms.
+       Reported by Matthias Bolte.
+
+2011-05-31  Bruno Haible  <bruno@clisp.org>
+
+       Fix link errors in tests: openat-die uses gettext-h.
+       * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
+       against $(LIBINTL).
+       * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
+       against $(LIBINTL).
+       * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
+       $(LIBINTL).
+       * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
+       against $(LIBINTL).
+       * modules/linkat-tests (Makefile.am): Link test-linkat against
+       $(LIBINTL).
+       * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
+       $(LIBINTL).
+       * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
+       against $(LIBINTL).
+       * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
+       test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
+       * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
+       $(LIBINTL).
+       * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
+       $(LIBINTL).
+       * modules/utimensat-tests (Makefile.am): Link test-utimensat against
+       $(LIBINTL).
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-05-31  Bruno Haible  <bruno@clisp.org>
+
+       Fix link errors in tests: wait-process uses gettext-h.
+       * modules/nonblocking-pipe-tests (Makefile.am): Set
+       test_nonblocking_pipe_main_LDADD.
+       * modules/nonblocking-socket-tests (Makefile.am): Link
+       test-nonblocking-socket-main against $(LIBINTL).
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       assert-h: work around 'verify' incompatibility
+       * lib/verify.h: Use @...@ directives, not ifdef.
+       * modules/assert-h (assert.h): Implement the directives.
+       (assert.h): Substitute the symbol-prefix more consistently.
+
+2011-05-29  Jim Meyering  <meyering@redhat.com>
+
+       trim: remove three superfluous assignments
+       * lib/trim.c (trim2): Remove three superfluous assignments
+       and correct brace positioning.
+
+2011-05-29  Bruno Haible  <bruno@clisp.org>
+
+       wctype-h: Avoid namespace pollution on Solaris 2.6.
+       * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
+       identifiers.
+       * doc/posix-headers/wctype.texi: Mention the problem.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-05-28  Jim Meyering  <meyering@redhat.com>
+
+       parse-datetime.y: accommodate -Wstrict-overflow
+       * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
+       placate -Wstrict-overflow.
+
+       trim: avoid a warning from -O2 -Wstrict-overflow
+       * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
+
+2011-05-29  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix bug in yesterday's commit.
+       * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
+       twice.
+
+2011-05-29  Bruno Haible  <bruno@clisp.org>
+
+       Allow multiple gnulib generated include files to be combined.
+       * gnulib-tool (func_compute_include_guard_prefix): New function.
+       (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
+       ${gl_include_guard_prefix} references.
+       (func_import, func_create_testdir): Invoke
+       func_compute_include_guard_prefix.
+       * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
+       * lib/ctype.in.h: Likewise.
+       * lib/dirent.in.h: Likewise.
+       * lib/errno.in.h: Likewise.
+       * lib/fcntl.in.h: Likewise.
+       * lib/float.in.h: Likewise.
+       * lib/getopt.in.h: Likewise.
+       * lib/iconv.in.h: Likewise.
+       * lib/langinfo.in.h: Likewise.
+       * lib/locale.in.h: Likewise.
+       * lib/math.in.h: Likewise.
+       * lib/netdb.in.h: Likewise.
+       * lib/netinet_in.in.h: Likewise.
+       * lib/poll.in.h: Likewise.
+       * lib/pthread.in.h: Likewise.
+       * lib/pty.in.h: Likewise.
+       * lib/sched.in.h: Likewise.
+       * lib/se-selinux.in.h: Likewise.
+       * lib/search.in.h: Likewise.
+       * lib/signal.in.h: Likewise.
+       * lib/spawn.in.h: Likewise.
+       * lib/stdarg.in.h: Likewise.
+       * lib/stddef.in.h: Likewise.
+       * lib/stdint.in.h: Likewise.
+       * lib/stdio.in.h: Likewise.
+       * lib/stdlib.in.h: Likewise.
+       * lib/string.in.h: Likewise.
+       * lib/strings.in.h: Likewise.
+       * lib/sys_file.in.h: Likewise.
+       * lib/sys_ioctl.in.h: Likewise.
+       * lib/sys_select.in.h: Likewise.
+       * lib/sys_socket.in.h: Likewise.
+       * lib/sys_stat.in.h: Likewise.
+       * lib/sys_time.in.h: Likewise.
+       * lib/sys_times.in.h: Likewise.
+       * lib/sys_uio.in.h: Likewise.
+       * lib/sys_utsname.in.h: Likewise.
+       * lib/sys_wait.in.h: Likewise.
+       * lib/sysexits.in.h: Likewise.
+       * lib/termios.in.h: Likewise.
+       * lib/time.in.h: Likewise.
+       * lib/unistd.in.h: Likewise.
+       * lib/wchar.in.h: Likewise.
+       * lib/wctype.in.h: Likewise.
+       * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
+       * modules/ctype (Makefile.am): Likewise.
+       * modules/dirent (Makefile.am): Likewise.
+       * modules/errno (Makefile.am): Likewise.
+       * modules/fcntl-h (Makefile.am): Likewise.
+       * modules/float (Makefile.am): Likewise.
+       * modules/getopt-posix (Makefile.am): Likewise.
+       * modules/iconv-h (Makefile.am): Likewise.
+       * modules/langinfo (Makefile.am): Likewise.
+       * modules/locale (Makefile.am): Likewise.
+       * modules/math (Makefile.am): Likewise.
+       * modules/netdb (Makefile.am): Likewise.
+       * modules/netinet_in (Makefile.am): Likewise.
+       * modules/poll-h (Makefile.am): Likewise.
+       * modules/pthread (Makefile.am): Likewise.
+       * modules/pty (Makefile.am): Likewise.
+       * modules/sched (Makefile.am): Likewise.
+       * modules/search (Makefile.am): Likewise.
+       * modules/selinux-h (Makefile.am): Likewise.
+       * modules/signal (Makefile.am): Likewise.
+       * modules/spawn (Makefile.am): Likewise.
+       * modules/stdarg (Makefile.am): Likewise.
+       * modules/stddef (Makefile.am): Likewise.
+       * modules/stdint (Makefile.am): Likewise.
+       * modules/stdio (Makefile.am): Likewise.
+       * modules/stdlib (Makefile.am): Likewise.
+       * modules/string (Makefile.am): Likewise.
+       * modules/strings (Makefile.am): Likewise.
+       * modules/sys_file (Makefile.am): Likewise.
+       * modules/sys_ioctl (Makefile.am): Likewise.
+       * modules/sys_select (Makefile.am): Likewise.
+       * modules/sys_socket (Makefile.am): Likewise.
+       * modules/sys_stat (Makefile.am): Likewise.
+       * modules/sys_time (Makefile.am): Likewise.
+       * modules/sys_times (Makefile.am): Likewise.
+       * modules/sys_uio (Makefile.am): Likewise.
+       * modules/sys_utsname (Makefile.am): Likewise.
+       * modules/sys_wait (Makefile.am): Likewise.
+       * modules/sysexits (Makefile.am): Likewise.
+       * modules/termios (Makefile.am): Likewise.
+       * modules/time (Makefile.am): Likewise.
+       * modules/unistd (Makefile.am): Likewise.
+       * modules/wchar (Makefile.am): Likewise.
+       * modules/wctype-h (Makefile.am): Likewise.
+       * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
+
+2011-05-29  Bruno Haible  <bruno@clisp.org>
+
+       assert-h: Allow multiple gnulib generated replacements to coexist.
+       * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
+
+2011-05-29  Bruno Haible  <bruno@clisp.org>
+
+       argp: Allow coexistence with strerror_r-posix module.
+       * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
+       (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
+       by gnulib's <string.h> replacement), assume it has the POSIX signature,
+       not the glibc signature.
+
 2011-05-28  Bruno Haible  <bruno@clisp.org>
 
        gnulib-tool: Alternative structure of testdirs, similar to --import.