X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=4b259dac15da01dd08881b993be135e4d3f9e814;hb=349a6770a685fe472f1c3c4084eebc17d4e5ff5e;hp=a61bf9f4dd066a1ea5479be156c70533b46ca9da;hpb=e85049070e2d175e247787ebcc2241b77cb8939f;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index a61bf9f4d..4b259dac1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,478 @@ +2010-09-14 Eric Blake + + 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 + + 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 + + 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 + + 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 + . + + 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 + . + +2010-09-10 Paolo Bonzini + + 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 + + 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 + + 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 + + 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 . + +2010-09-10 Bruno Haible + + relocatable-prog-wrapper: Fix compilation failure due to O_EXEC. + * lib/progreloc.c (O_EXEC): Define fallback. + +2010-09-10 Paul Eggert + + 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 + + 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 + + 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 before . + * m4/pty_h.m4 (gl_PTY_H): Likewise. + * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Include before . + Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable + ac_includes_default. + Reported by Mats Erik Andersson . + +2010-09-09 Eric Blake + + strsignal: work around NetBSD bug + * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in . + * 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 + + 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 + + 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 + + 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 + + test.sh: disqualify shells for which set -x corrupts stderr + * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11 + and OpenBSD 4.7. They make it so with "set -x", environment settings + appear in stderr output. For example, this command: + /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err + prints "P=1" on those two systems: + +2010-09-08 Bruno Haible + + gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'. + * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias' + commands, because some shells ignore redirections when there is an + error in the command lookup. + Reported by Eric Blake. + +2010-09-07 Reuben Thomas + + * lib/regex.h: Fix a mention of `regex_compile' (should be + `re_compile_pattern'). + Correct and clarify documentation for RE_CONTEXT_INVALID_DUP. + (re_set_registers): Correct name of parameter in comment. + + * doc/regex.texi: Add documentation for missing syntax flags. + Remove commented-out documentation of defunct syntax option + RE_NO_EMPTY_ALTS. + Correct name of RE_CHAR_CLASSES in one incorrect occurrence. + Add documentation of re_set_registers. + Document trick to re-use a pattern buffer by setting fastmap manually. + Update documentation of struct re_pattern_buffer per public members. + Uncomment documentation of equivalence class operators and + collating symbol operators, since they are now implemented, + Explain leftmost-longest matching in relation to alternatives. + Tidy documentation of substring matching. + Remove POSIX documentation, which is done better in + glibc, and refer the reader there. Keep BSD API documentation, as + that is not readily available elsewhere. + +2010-09-07 Eric Blake + + getopt: handle POSIXLY_CORRECT set but not exported + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing + export state of POSIXLY_CORRECT, due to bash set -o posix. + Reported by Dustin J. Mitchell. + +2010-09-05 Bruno Haible + + gnulib-tool: Highlight the changed options. + * gnulib-tool (func_usage): Display the --import, --add-import, + --remove-import explanations in bold font. + +2010-09-06 Karl Berry + + * doc/gnulib-tool.texi (Modified imports): doc tweaks. + +2010-09-05 Bruno Haible + + uniwidth/width: Update comment. + * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1. + Reported by Emanuele Giaquinta . + +2010-09-05 Bruno Haible + + isinf, isnan: Relax license. + * modules/isinf (License): Change from GPL to LGPL, with consent from + Ben Pfaff. + * modules/isnan (License): Likewise. + Requested by Ludovic Courtès. + +2010-09-04 Bruno Haible + + gnulib-tool: Help migration from --import to --add-import or --update. + * gnulib-tool: Emit a verbose error message when --import is used + without any module name. + +2010-09-04 Bruno Haible + + Update doc about gnulib-tool. + * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs. + 'gnulib-tool --update' in more detail. + Reported by Eric Blake. + +2010-09-04 Bruno Haible + + gnulib-tool: Change --import. New options --add/remove-import. + * gnulib-tool: New options --add-import, --remove-import. + (func_usage): Document them. + (have_associative): Define always. + (func_import): In import mode, don't merge the specified settings with + the cached settings. Implement remove-import mode. + * doc/gnulib-tool.texi (Modified imports): Mention the new options. + Explain when to use them versus --import. + (Simple update): Use --add-import instead of --import. + * NEWS: Mention the change. + +2010-09-04 Bruno Haible + + * doc/gnulib-tool.texi (Initial import): Update paragraph about + separate gnulib.mk. + +2010-09-04 Bruno Haible + + gnulib-tool: Don't talk about CVS any more. + * gnulib-tool (func_usage, func_import): Write "version control" + instead of CVS. + +2010-09-04 Jim Meyering + + maint.mk: avoid obscure sc_copyright_check failure in coreutils + * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid + false positives (whose names may be ill-chosen) when searching + non-VC'd files. Otherwise, a file named "a b/lib/version-etc.c" + would cause a false-positive. + + avoid coreutils "make distcheck" failure + Coreutils tests with an absolute build directory name that contains + a space. Not quoting this directory name caused a failure. + * tests/test-vc-list-files-git.sh: Quote PATH dir name. + * tests/test-vc-list-files-cvs.sh: Likewise. + +2010-09-04 Bruno Haible + + gnulib-tool: Avoid error when run in a package without Makefile.am. + * gnulib-tool: When collecting the m4dirs in a package that does not + have a Makefile.am, eliminate those directories that contain no + gnulib-cache.m4. Fix expression that counts these directories. + +2010-09-04 Bruno Haible + + update-copyright test: Improve output when perl is missing or too old. + * tests/test-update-copyright.sh: Move test of Perl version down after + the test whether Perl exists. Provide an explanation relating Perl's + error message to Automake's SKIP: message. + +2010-09-04 Bruno Haible + + Don't augment PATH in TESTS_ENVIRONMENT. + * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT, + set abs_aux_dir instead of augmenting PATH. + * modules/vc-list-files-tests (Makefile.am): Likewise. + * tests/test-update-copyright.sh: Augment PATH here. + * tests/test-vc-list-files-cvs.sh: Augment PATH here, through + path_prepend_. + * tests/test-vc-list-files-git.sh: Likewise. + +2010-09-04 Jim Meyering + + tests: prohibit augmenting PATH via TESTS_ENVIRONMENT + * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule. + +2010-09-04 Bruno Haible + + strdup: Fix compilation error in C++ mode. + * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine + the macro. + +2010-09-04 Bruno Haible + + dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX. + * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the + macro into a function. + Reported by Jarno Rajahalme . + +2010-09-04 Bruno Haible + + Set PATH_SEPARATOR the same way autoconf does. + * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine + the value of PATH_SEPARATOR the same way autoconf-generated configure + scripts do. + * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise. + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. + +2010-09-04 Stefano Lattarini (tiny change) + + Set PATH_SEPARATOR the same way autoconf does. + * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR + the same way autoconf-generated configure scripts do. + * posix-modules: Likewise. + +2010-09-02 Paul Eggert + + hash: fix safe_hasher const typo + * lib/hash.c (safe_hasher): Result is pointer, not pointer to + const; otherwise, there is a type error later. + +2010-09-02 Jim Meyering + + test-update-copyright.sh: require perl 5.8.0 + * tests/test-update-copyright.sh: Require 5.8.0, + which Tom G. Christensen has confirmed is adequate, + while 5.6.1 is not. + +2010-09-02 Eric Blake + + tests: init.sh improvements for re-exec'ing with zsh + * tests/init.sh: Borrow autoconf POSIX-mode sanitization. Pass + -vx through shell re-exec. + Reported by Tom G. Christensen. + + wctype: fix typo in previous commit + * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling. + Reported by Ludovic Courtès. + +2010-09-02 Jim Meyering + + test-update-copyright.sh: skip test if Perl is too old + * tests/test-update-copyright.sh: Exit 77 if Perl is too old. + Reported by Tom G. Christensen. + +2010-09-02 Bruno Haible + + wctype: Avoid compilation error on IRIX 6.5.30. + * lib/wctype.in.h (iswblank): Declare with a replacement if + REPLACE_ISWBLANK is set. + * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is + declared. Set REPLACE_ISWBLANK. + * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK. + * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem. + * doc/posix-headers/wctype.texi: Likewise. + Reported by Tom G. Christensen . + +2010-09-01 Bruno Haible + + New module 'socketlib'. + * modules/socketlib: New file. + * m4/socketlib.m4: New file, extracted from m4/sockets.m4. + * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB. + * modules/sockets (Depends-on): Add socketlib. + Suggested by Sam Steingold . + +2010-09-01 Paul Eggert + + fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable + + POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used + when one needs search access to a directory but not read access. + On systems where it is available, it works in some cases where + O_RDONLY does not, namely on directories that are searchable but + not readable, and which need only to be searchable. If O_SEARCH + is not available, fall back to the traditional method of using + O_RDONLY. + + * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined. + * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY, + when opening a directory that needs only to be searchable. + * lib/chdir-safer.c (chdir_no_follow): Likewise. + * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise. + * lib/openat-proc.c (openat_proc_name): Likewise. + * lib/openat.c (openat_needs_fchdir): Likewise. + * lib/save-cwd.c (save_cwd): Likewise. + * lib/savewd.c (savewd_save, savewd_chdir): Likewise. + +2010-08-28 Bruno Haible + + New module 'host-cpu-c-abi'. + * modules/host-cpu-c-abi: New file. + * m4/host-cpu-c-abi.m4: New file, based on part of + clisp/src/m4/general.m4. + Requested by Sam Steingold . + +2010-08-31 Eric Blake + and Jim Meyering + + hash: factor, and guard against misbehaving hasher function + * lib/hash.c (safe_hasher): New function, to encapsulate the checking + of table->hasher's return value. Also protect against a hash value + so large that adding it to table->bucket results in a NULL pointer. + (hash_lookup, hash_get_next, hash_find_entry, transfer_entries): + Use it in place of open-coded check-and-abort. + 2010-08-30 Bruno Haible hash: silence spurious clang warning