X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=c03777bdb74ab3120d4e1cff7eb8affaeeaf5d12;hb=204072b;hp=aab48d7724584aafb3b91c3dd646de16c932080d;hpb=fb6aa6ad7dd950729f4e3349d89d4ad82761af61;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index aab48d772..c03777bdb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,336 @@ +2011-09-03 Paul Eggert + + openat: test for fstatat (..., 0) bug + Further testing with tar suggests that fstatat (..., 0) + does not work in general, on AIX 7.1; see + . + So, give up entirely on AIX 7.1's fstatat, and fall back on our + replacement fstatat (which is what older AIX releases were using + anyway). + * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef. The only + use is now changed to orig_fstatat. This was probably the right + thing to do anyway. + (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used. + (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove. + (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN. + (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug + and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN, + if the bug is found. + + openat: test for fstatat (AT_FDCWD, ..., 0) bug + This tests for another fstatat bug on AIX 7.1: + fstatat (AT_FDCWD, ..., 0) does not work. See + . + * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN) + (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0. + (rpl_fstatat): Adjust so that it works around either (or both) + bugs if present. + * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug. + +2011-09-03 Karl Berry + + * doc/regex.texi (Character Class Operators): Avoid literal ":" + in index entries. + +2011-09-02 Bruno Haible + + Allow the user to override the choice of AR, ARFLAGS, RANLIB. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given + values of AR, ARFLAGS, RANLIB. + Reported by John W. Eaton for Octave. + +2011-09-02 Bruno Haible + + Find 'ar' program that fits with --host argument. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL. + +2011-09-02 Bruno Haible + + tests: init.sh: Support any non-GNU diff. + * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is + not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1, + Solaris 8. + +2011-09-02 Bruno Haible + + tests: init.sh: work also with any non-GNU diff that supports -u + * tests/init.sh: Relax check for diff -u support. + Rather than checking for GNU diff via --version, simply check + for support for -u itself. Useful at least on OpenBSD 4.9, + AIX 7.1, IRIX 6.5, and Solaris 10. + +2011-09-01 Bruno Haible + + strtoimax, strtoumax: Document problem on HP-UX 11. + * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem. + * doc/posix-functions/strtoumax.texi: Likewise. + +2011-09-01 Bruno Haible + + strtoumax: Avoid link error on OSF/1 with DTK cc. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is + defined as a function. + * modules/strtoumax (Depends-on, configure.ac): Test only whether + strtoumax is defined, not whether it is declared. + +2011-09-01 Bruno Haible + + strtoimax: Avoid link error on OSF/1 with DTK cc. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is + defined as a function. + * modules/strtoimax (Depends-on, configure.ac): Test only whether + strtoimax is defined, not whether it is declared. + +2011-09-01 Bruno Haible + + imaxdiv: Avoid link error on OSF/1 with DTK cc. + * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined + as a function. + * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not + whether it is declared. + +2011-09-01 Bruno Haible + + imaxabs: Avoid link error on OSF/1 with DTK cc. + * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined + as a function. + * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not + whether it is declared. + +2011-09-01 Bruno Haible + + Tests for module 'strtoumax'. + * modules/strtoumax-tests: New file. + * tests/test-strtoumax.c: New file. + + Tests for module 'strtoimax'. + * modules/strtoimax-tests: New file. + * tests/test-strtoimax.c: New file. + + Tests for module 'imaxdiv'. + * modules/imaxdiv-tests: New file. + * tests/test-imaxdiv.c: New file. + + Tests for module 'imaxabs'. + * modules/imaxabs-tests: New file. + * tests/test-imaxabs.c: New file. + +2011-09-01 Bruno Haible + + pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not + pthread_create. + +2011-09-01 Paul Eggert + + openat: work around AIX 7.1 fstatat issue + This should fix the problem that was not properly fixed + in the previous change, dated 2011-08-30. + * lib/fstatat.c: Include twice, the first with + __need_system_stat_h defined. + (orig_fstatat) [HAVE_FSTATAT]: New function. + (rpl_fstatat): Go back to the old way of doing things, + except call orig_fstatat instead of fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat. + Remove unnecessary check whether fstatat fills in st_size etc. + +2011-09-01 Bruno Haible + + sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5. + * lib/sys_select.in.h [__sgi]: When included from , + just include the system's header. + +2011-08-31 Jim Meyering + + tests: avoid spurious assertion failure in test-float.c on ppc64 + * tests/test-float.c (test_long_double): Comment out an assertion, + LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64 + with gcc-4.4.4. + + maint: indent with spaces, not TABs + I need to get in the habit of running gnulib's "make check". + Both of these would have been caught. + * m4/largefile.m4: Indent with spaces, not TABs. + * lib/parse-datetime.y (iso_8601_time): Likewise. + Spotted by Pádraig Brady. + + test-parse-datetime.c: accommodate a relatively strict gcc warning + * tests/test-parse-datetime.c (gmt_offset): Declare function "static", + to avoid a warning from gcc's -Werror=missing-declarations. + Insert a few spaces-before-funcall-parenthesis. + +2011-08-17 J.T. Conklin + + parse-datetime: accept ISO 8601 date and time rep with "T" separator + The parser now accepts ISO 8601 date-time strings with "T" as the + separator. It has long parsed dates like "2004-02-29 16:21:42" + with a space between the date and time strings. Now it also parses + "2004-02-29T16:21:42" and fractional-second and time-zone-annotated + variants like "2004-02-29T16:21:42.333-07:00" + * lib/parse-datetime.y: Parse ISO 8601 extended date and time + of day representation using the 'T' separator character. + * doc/parse-datetime.texi (General date syntax): replace use of + deprecated --iso-8601 option with --rfc-3339 in example of date + command output formats that can be parsed. + * tests/test-parse-datetime.c (tm_diff): New function, taken from + lib/parse-datetime.y. + (gmt_offset): New function. + (main): Add additional test cases to validate ISO8601 extended + date and time of day parsing. + +2011-08-31 Bruno Haible + + freopen: Documentation. + * doc/posix-functions/freopen.texi: Document the bug with the NULL file + name. + Reported by Claudio Bley . + +2011-08-31 Claudio Bley (tiny change) + + freopen: Don't crash if the filename argument is NULL. + * lib/freopen.c (rpl_freopen): Don't compare the filename if it is + NULL. + +2011-08-30 Paul Eggert + + openat: work around AIX 7.1 fstatat bug + Problem reported by Kevin Brott for GNU tar, in the thread containing + . + * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if + FSTATAT_ST_SIZE_ETC_BROKEN. + (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to + rpl_fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant + part of gl_FUNC_OPENAT. Also, check for the AIX 7.1 bug, and use + AC_CHECK_FUNCS_ONCE for fstatat. + (gl_FUNC_OPENAT): Use it. Use AC_CHECK_FUNCS_ONCE for + fchmodat, mkdirat, openat and unlinkat. + +2011-08-30 Bruno Haible + + Avoid endless recursions if config.h includes some header files. + * lib/fopen.c (__need_FILE): Define already before including config.h. + * lib/freopen.c (__need_FILE): Likewise. + * lib/open.c (__need_system_fcntl_h): Likewise. + * lib/stat.c (__need_system_sys_stat_h): Likewise. + * lib/lstat.c (__need_system_sys_stat_h): Likewise. + Reported by Michael Goffioul . + +2011-08-25 Karl Berry + + * config/srclist.txt (ylwrap): new try. + * build-aux/ylwrap: new file. + +2011-08-23 Bruno Haible + + tmpdir: Use a good default directory on native Windows. + * lib/tmpdir.c: Include , pathmax.h. + (P_tmpdir): Default to _P_tmpdir on native Windows. + (path_search): On native Windows, try the value returned by GetTempPath + before trying P_tmpdir. + * modules/tmpdir (Depends-on): Add pathmax. + Suggested by John Darrington . + +2011-08-20 Reuben Thomas + + doc: fix typo in README-release + * top/README-release: Capitalize first word of a sentence. + +2011-08-19 Jim Meyering + + fts: do not exhaust memory when processing million-entry directories + Before this change, traversing (via rm -rf, find, du, etc.) an N-entry + directory would require about 256*N bytes of memory. Thus, it was + easy to construct a directory too large to be processed by any of + those tools. With this change, fts' maximum memory utilization is + now limited to around 30MB. + * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define. + (fts_read): When we've processed the final entry (i.e., when + ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build + using the parent entry to read any remaining entries. Dispatch + depending on what fts_build returns: + - NULL+stop, aka failure: stop + - NULL otherwise: move up in the dir hierarchy + - non-NULL: handle this new entry + (fts_build): Declare and use new local, continue_readdir. + Prepare to be called from fts_read, when the entries + from a partially-read directory have just been exhausted. + In that case, we'll skip the opendir and instead use the parent's + fts_dirp and derive dir_fd from that. + Finally, in the readdir loop, if we read max_entries entries, + exit the loop ensuring *not* to call closedir. This is required + so that fts_dirp can be reused on a subsequent call. + Prompted by Ben England's report of memory exhaustion in find + and rm -rf vs. NFS: https://bugzilla.redhat.com/719749. + + maint: fts: move decl of `dp' down into while loop; split a long line + * lib/fts.c (fts_build): No semantic change. + + fts: add/use new struct member, fts_dirp + We are about to use this to manage any directory with + too many entries to read all of them into memory at once. + To do that, we'll need to save the DIR* pointer in each + affected FTSENT struct. + * lib/fts_.h: Include . + (struct FTSENT) [fts_dirp]: New member. + * lib/fts.c (closedir_and_clear): Define. + Use it in place of closedir so that we are sure to + clear the new fts_dirp member when done with it. + (fts_alloc): Initialize the new member. + (fts_lfree): Free, if needed. + + maint: fts: give __opendir2 a new parameter and rename + * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather + than surreptitiously using sole caller's "dir_fd". + (fts_opendir): Rename from __opendir2. + + maint: fts.c: remove __opendir2's now-unused parameter, oflag + * lib/fts.c (__opendir2): Remove unused parameter, oflag. + + maint: fts.c: correct off-by-one indentation + * lib/fts.c (fts_build): Correct indentation, change style + of a couple of block comments, and bracing style. + + maint: fts.c: move __opendir2 #define "up" out of function body + * lib/fts.c (__opendir2): Move "up". No semantic change. + + maint: fts.c: remove #if-0'd FTS_WHITEOUT code + * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code. It's been #if-0'd + out for a long time and besides was useful only on BSD systems. + +2011-08-18 Paul Eggert + + regex: port to Stratus OpenVOS + * lib/regex_internal.h (internal_function) [!_LIBC]: Simply + define to empty, rather than attempting nonportable optimizations. + Problem reported by Paul Green in: + http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html + and fix suggested by Eric Blake in: + http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html + +2011-08-17 Eric Blake + + getcwd: fix test failures on mingw + * lib/getcwd.c (__getcwd): Early exit for ERANGE. + * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail + test if long directory cannot be created, and allow mingw errno. + + getcwd-lgpl: fix m4 to match relaxed test for BSD + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe. + (gl_FUNC_GETCWD_SIGNATURE): New macro. + (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it. + * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of + signature problem. + + getcwd: fix compilation on mingw64 + * lib/unistd.in.h (includes) [mingw]: Include for + getcwd. + Reported by Marc-André Lureau. + + pipe2: silence compiler warning + * lib/pipe2.c (pipe2): Hide label if it is not used. + 2011-08-15 Ben Pfaff relocatable-prog: fix link error