relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
[gnulib.git] / ChangeLog
index 1432543..55dbe1e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,244 @@
+2012-05-01  Bruno Haible  <bruno@clisp.org>
+
+       relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
+       * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
+       * build-aux/reloc-ldflags: Likewise.
+       Suggested by Steven Chamberlain <steven@pyro.eu.org>.
+
+2012-05-01  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Remove transitional code.
+       * gnulib-tool: Don't warn about --import with 0 arguments any more.
+       Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-05-01  Bruno Haible  <bruno@clisp.org>
+
+       getcwd: Fix misindentation.
+       * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
+
+2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       exclude: process exclude and include directives in order
+       This restores the pre-2009 behavior, and is part of a fix of a
+       grep bug reported by Quentin Arce in
+       <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
+       * lib/exclude.c (struct exclude): Remove 'tail' member.
+       (new_exclude_segment): Prepend the new segment instead of appending.
+       Return void, since that's now more convenient.
+       (file_pattern_matches): Renamed from excluded_file_pattern_p.
+       (file_name_matches): Renamed from excluded_file_name_p.
+       (file_pattern_matches, file_name_matches):
+       Return true if the pattern matches, not if it excludes.
+       All callers changed.
+       (excluded_file_name): Process the list in reverse order;
+       since the list is now reversed this restores the pre-2009 behavior.
+       (add_exclude): Adjust to new reversed-order list.  Use local var
+       rather than macro, for clarity.
+       * tests/test-exclude7.sh: Adjust to corrected behavior.
+
+       exclude: handle wildcards with FNM_NOESCAPE and with trailing \
+       * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
+       it's not possible here.  Handle the case of \ at end of pattern
+       without dumping core.
+       (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
+
+       _Noreturn: future-proof non-GNU and non-MSVC compilers
+       * build-aux/snippet/_Noreturn.h (_Noreturn):
+       * m4/gnulib-common.m4 (gl_COMMON_BODY):
+       Do not define _Noreturn if __STDC_VERSION__ indicates this is
+       C11 or later.  This is more likely to work with random future C
+       compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
+
+       exclude: handle wildcards with FNM_EXTMATCH
+       * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
+       '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
+       comment that "has wildcards" really means "has or may have
+       wildcards".  Simplify by avoiding the need to call strcspn.
+
+2012-04-29  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix list of authors.
+       * gnulib-tool (func_version): Add Paul Eggert to list of authors.
+
+2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       bootstrap: support Automake-NG in $buildreq
+       * bootstrap (check_versions): Handle automake and aclocal from
+       Automake-NG specially.  They can be specified as respectively
+       the "automake-ng" and "aclocal-ng" requirements.
+
+2012-04-25  Eric Blake  <eblake@redhat.com>
+
+       bootstrap: only force latest Makefile.in.in for gettext module
+       * build-aux/bootstrap (with_gettext): Only install latest
+       Makefile.in.in for projects requesting bleeding edge gettext.
+
+2012-04-22  Bruno Haible  <bruno@clisp.org>
+
+       doc: Mention reason for replacement on glibc/Linux systems.
+       * doc/posix-functions/dprintf.texi: Mention the problem with special
+       'long double' values.
+       * 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.
+       * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
+       platforms with F_DUPFD_CLOEXEC problems.
+       * doc/posix-functions/glob.texi: Mention which platforms are affected
+       by the problem with symbolic links.
+       * doc/posix-functions/linkat.texi: Mention the problem with
+       AT_SYMLINK_FOLLOW on Linux.
+
+2012-04-22  Bruno Haible  <bruno@clisp.org>
+
+       pwrite: Don't replace on all platforms.
+       * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
+
+2012-04-22  Bruno Haible  <bruno@clisp.org>
+
+       rint* tests: Avoid gcc warnings.
+       * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
+       * tests/test-rintf.c (INFINITY, NAN): Likewise.
+       * tests/test-rintl.c (INFINITY, NAN): Likewise.
+
+2012-04-21  Bruno Haible  <bruno@clisp.org>
+
+       users.txt: Update.
+       * users.txt: Add freedink, wdiff. Update URLs for projects that have
+       switched from CVS to git, bzr, or svn.
+
+2012-04-21  Bruno Haible  <bruno@clisp.org>
+
+       Large File Support for native Windows platforms.
+
+       * m4/largefile.m4 (gl_LARGEFILE): New macro.
+       * modules/largefile (configure.ac): Require gl_LARGEFILE.
+
+       * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
+       type.
+       * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
+       * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
+       * doc/posix-headers/sys_types.texi: Mention the effect of the
+       'largefile' module.
+
+       * lib/fcntl.in.h: Add comments about off_t.
+       * modules/fcntl-h (Depends-on): Add sys_types.
+
+       * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
+       (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
+       * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
+       (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
+       * modules/unistd (Depends-on): Add sys_types.
+       (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
+
+       * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
+       instead of lseek.
+       * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
+       REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
+       * modules/lseek (Depends-on): Add sys_types.
+
+       * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
+       msvc-nothrow.h.
+       (SetFileSize): New function.
+       (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
+       * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
+       if Large File Support is requested.
+       * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
+       (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
+
+       * lib/stdio.in.h: Add comments about off_t.
+       * modules/stdio (Depends-on): Add sys_types.
+
+       * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
+       instead of ftello.
+       * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
+       REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
+       (gl_PREREQ_FTELLO): New macro.
+       * modules/ftello (Depends-on): Add sys_types.
+       (configure.ac): Incoke gl_PREREQ_FTELLO.
+
+       * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
+       instead of fseeko.
+       * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
+       REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
+       (gl_PREREQ_FSEEKO): New macro.
+       * modules/fseeko (Depends-on): Add sys_types.
+       (configure.ac): Invoke gl_PREREQ_FSEEKO.
+
+       * lib/sys_stat.in.h: Add comments about off_t.
+       (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
+       64-bit integer for st_size in 'struct stat'.
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
+       Define _GL_WINDOWS_64_BIT_ST_SIZE.
+       * modules/sys_stat (Depends-on): Add sys_types.
+       (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
+
+       * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
+       instead of stat or _stat.
+
+       * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
+       'struct _stati64' instead of fstat and 'struct stat'.
+       * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
+       REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
+
+       Reported by Ray Satiro <raysatiro@yahoo.com>.
+
+2012-04-19  Eric Blake  <eblake@redhat.com>
+
+       bootstrap: accommodate older libtool
+       * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
+       Reported by Daniel P. Berrange.
+
+2012-04-19  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: avoid failure due to lack of Digest::SHA1
+       Even with the preferred Digest::SHA available, this script
+       would fail when the backup module, Digest::SHA1, was not installed.
+       * build-aux/announce-gen: Quote the conditional use of "use".
+       Reported by Reuben Thomas in:
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
+
+       bootstrap: don't let a user's CDPATH setting affect this script
+       When CDPATH is set, cd will sometimes generate output.
+       When "cd" is run in a subshell whose output matters, that
+       surprising-to-some output can cause malfunction.
+       Unsetting CDPATH turns off this shell "feature."
+       * build-aux/bootstrap (CDPATH): Unset.
+       Reported by Reuben Thomas in:
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
+       and inspired by his patch here:
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
+
+2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
+       and Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: catch "see @xref{}" and similar
+       * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
+       prohibit "See also @xref{", "Also see @pxref{", and similar.
+
+2012-04-16  Jim Meyering  <meyering@redhat.com>
+
+       bootstrap: really use gnulib's po/Makefile.in.in
+       * build-aux/bootstrap: Correct the source file name in previous change.
+       Reported by Akim Demaille.
+
+       configmake: correct minor inconsistency in Makefile rule
+       * modules/configmake (Makefile.am): All other rules like this one
+       run the final "mv -f ..." in the same backslash-continued command
+       as the one that does everything else.  This one put the mv -f ...
+       command on a separate, non-backslash-continued line.
+       Make it like the others.
+
+       bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
+       * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
+       the one from gettext.  Reported by Akim Demaille.
+
 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
 
        Fix recursion of install-* into po directories.
        * tests/test-exp2.c: New file.
        * tests/test-exp2.h: New file.
 
-        New module 'exp2'.
-        * lib/math.in.h (exp2): New declaration.
-        * lib/exp2.c: New file.
-        * m4/exp2.m4: New file.
-        * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
-        (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
-        REPLACE_EXP2.
-        * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
-        REPLACE_EXP2.
-        * modules/exp2: New file.
-        * tests/test-math-c++.cc: Check the declaration of exp2.
-        * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
-        and OpenBSD problems.
+       New module 'exp2'.
+       * lib/math.in.h (exp2): New declaration.
+       * lib/exp2.c: New file.
+       * m4/exp2.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
+       REPLACE_EXP2.
+       * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
+       REPLACE_EXP2.
+       * modules/exp2: New file.
+       * tests/test-math-c++.cc: Check the declaration of exp2.
+       * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
+       and OpenBSD problems.
 
 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>