getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
[gnulib.git] / ChangeLog
index 3b34c93..f5676e1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,241 @@
+2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
+       Reported for OS X 10.8.2 by Assaf Gordon in
+       <http://bugs.gnu.org/13516>.
+       * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
+       !HAVE_OPENAT && !HAVE_FDOPENDIR.
+       * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
+       so that they can be kept in sync more easily.  Avoid PATH_MAX
+       test on the Hurd.  Sync from test-getcwd.c for errno tests after
+       mkdir or chdir failure.
+       * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
+       lib/getcwd.c.
+       (test_abort_bug): Do not test for the deep directory bug unless we
+       have openat support.  Avoid PATH_MAX test on the Hurd.
+
+       regex-tests, regex: fix bug: memset undeclared
+       * tests/test-regex.c: Don't include regex.h twice.  Include
+       string.h, to declare memset.  Christensen's report also mentioned
+       this issue.
+       * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
+       test-regex.c, to avoid future problems like this.  Remove
+       AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
+       twice.
+
+       regex-tests: fix link errors on older Solaris
+       These need to link with @LIBINTL@ to get libintl_gettext.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
+       * modules/regex-tests (test_regex_LDADD): New macro.
+
+2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex-tests: new module
+       * modules/regex-tests, tests/test-regex.c: New files.
+
+       regex: fix off-by-one error in configure test
+       * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
+
+2013-01-31  Eric Blake  <eblake@redhat.com>
+
+       regex: avoid infinite configure test
+       * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
+
+2013-01-31  Reuben Thomas  <rrt@sc3d.org>
+
+       openpty: fix bug where HAVE_OPENPTY wasn't defined
+       See the thread starting at:
+       http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
+       * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
+       openpty function exists, not merely when we intend to replace it.
+
+2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sys_time: port to Solaris 2.6
+       There is a circularity problem on Solaris 2.6, where <time.h> includes
+       <sys/time.h> for struct timespec.  The include nesting is gnulib
+       <time.h>, system <time.h>, gnulib <sys/time.h>, system
+       <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
+       <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
+       <sys/siginfo.h>; the last, innermost file needs struct
+       timestruc_t, which is defined in <sys/time.h>, which has not been
+       fully parsed.  Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
+       * lib/sys_select.in.h: Treat Solaris 2.6's problem with
+       <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
+       * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
+       uses split double-inclusion guards.
+
+2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: test for buffer overrun
+       * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
+       for the just-fixed regex bug.
+
+2013-01-29  Andreas Schwab  <schwab@suse.de>
+
+       regex: fix buffer overrun in regexp matcher
+       * lib/regexec.c (extend_buffers): Add parameter min_len.
+       (check_matching): Pass minimum needed length.
+       (clean_state_log_if_needed): Likewise.
+       (get_subexp): Likewise.
+
+2013-01-28  Pádraig Brady  <P@draigBrady.com>
+
+       mountlist: don't consider "devtmpfs" as dummy
+       * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
+       as there is storage associcated with it.
+
+2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       futimens-tests, utimens-tests: Depend on gettext.
+       This works around a problem introduced in my 2013-01-12 patch,
+       which added @LIBINTL@ to these modules.
+       * modules/futimens-tests (Depends-on):
+       * modules/utimens-tests (Depends-on): Add gettext.
+
+2013-01-26  Eric Blake  <eblake@redhat.com>
+
+       test-getpeername: fix typo
+       * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
+
+2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
+
+       bootstrap: remove the need for a sorted .gitignore file
+       * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
+       rename to insert_if_absent(), so that we don't need or generate
+       a sorted .gitignore file.  We do require a .gitignore with no
+       existing duplicate entries and enforce that.
+       (sort_patterns): Remove this function as we now use the simpler
+       technigue of inserting blacklist entries at the top of the file,
+       assuming gnulib won't be inserting !whitelist entries.
+
+2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       readlinkat: don't depend on gl_FUNC_OPENAT
+       * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
+       Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
+       renameat.m4, symlinkat.m4; but one thing at a time.
+
+       statat: new module, split out from fstatat
+       GNU Emacs needs the POSIX-specified fstatat, but not the
+       gnulib-specified statat and lstat.  Split the latter two into a
+       new module 'statat'.
+       * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
+       * lib/openat.h, lib/statat.c (STATAT_INLINE):
+       Rename from FSTATAT_INLINE. All uses changed.
+       * modules/fstatat (Files): Remove lib/statat.c.
+       (gl_MODULE_INDICATOR([fstatat])): Remove.
+       (lib_SOURCES): Remove.
+       (Maintainer): Add self.
+       * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
+       * tests/test-fstatat.c (BASE): Don't define if already defined.
+       (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
+
+2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tests: don't assume fd 99 is closed
+       * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
+       * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
+       * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
+       * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
+       * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
+       * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
+       * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
+       * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
+       * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
+       * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
+       * tests/test-fwrite.c, tests/test-getpeername.c:
+       * tests/test-getsockname.c, tests/test-getsockopt.c:
+       * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
+       * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
+       * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
+       * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
+       * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
+       * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
+       * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
+       * tests/test-symlinkat.c, tests/test-ttyname_r.c:
+       * tests/test-unlinkat.c, tests/test-unlockpt.c:
+       * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
+       Close file descriptor 99, instead of assuming it's already closed.
+
+2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stpncpy: port to OS X 10.8
+       * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
+       Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
+
+2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       unistd: port to recent mingw
+       * lib/unistd.in.h: Remove special invocation convention for mingw,
+       which breaks for the latest mingw version.  See John W. Eaton in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
+
+       largefile: port better to Mac OS X 10.5
+       This patch is backported from Autoconf git.
+       * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
+       AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
+       with ino_t size being different for configuration time versus
+       build/run time.  Problem reported by PHO in
+       <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
+
+2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: clarify -Werror
+       * doc/warnings.texi (warnings): -Werror is not always a bad idea;
+       clarify that it's intended for developers, not for ordinary builds,
+       and mention --enable-gcc-warnings as one possible use.
+
+2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
+
+       stdint: fix build with Android's Bionic fox x86
+       * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
+       was already included as _SSIZE_T_DEFINED_ might also be defined
+       in include/machine/_types.h, which is included by stdio.h
+
+2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       net_if-tests: port to Solaris 7 + GCC 3.4.6
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
+       * tests/test-net_if.c (ni): Move to next the code that uses it,
+       so that it's declared only if needed.
+
+2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       net_if-tests: port to older Solaris
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+       * modules/net_if-tests (NET_IF_LIB): New substitution.
+       (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
+       (HAVE_IF_NAMEINDEX): New C macro.
+       * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
+
+       system-quote-tests: port to older Solaris
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+       * tests/test-system-quote-child.c (fopen, fread): Undef.
+
+       c-xvasprintf etc.: fix link errors on older Solaris
+       These need to link with @LIBINTL@ to get libintl_gettext.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+       * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
+       * modules/readtokens-tests (test_readtokens_LDADD): New macros.
+       * modules/futimens-tests (test_futimens_LDADD):
+       * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
+
+2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       locale: port to Solaris 2.6 and 7 + GNU gettext
+       * lib/locale.in.h: Just include_next <locale.h> when
+       being invoked recursively.  This prevents problems on Solaris 2.6 and 7
+       when combining the localename module with GNU gettext 0.18.2.
+       Problem reported by Tom G. Christensen in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
+
 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
 
        stdlib: port to Solaris 2.6