X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=a2d6c7080aa7386b48c14c052c97bc6e73d3df26;hb=a1b6c7c4b1fd17796611cbc3d2b3ac9dcd48ab81;hp=370dd9c1ab87b22508bed15a6c6acad17ff6bee6;hpb=0ca0a3c52fb45689e0ba8d1063272193bf2bd1db;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 370dd9c1a..a2d6c7080 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,351 @@ +2008-09-26 Bruno Haible + + * posix-modules (cvsdatestamp, last_checkin_date, version): Remove + variables. + (func_version): Essentially copied from gnulib-tool. + (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error, + func_readlink): Copied from gnulib-tool. + +2008-09-26 Bruno Haible + + * gnulib-tool (func_version): Change directory to $gnulib_dir before + invoking git-version-gen. + +2008-09-26 Bruno Haible + + * posix-modules: Update to directory names changed on 2008-01-19. + Remove commas in output before splitting into words. No more need to + avoid 'ftruncate' since 2007-02-19. + +2008-09-26 Bruno Haible + + * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'. + +2008-09-26 Bruno Haible + + * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE. + * modules/fwriteerror (Depends-on): Add errno. + +2008-09-26 Bruno Haible + + * tests/test-vc-list-files-git.sh: Explain reason for skipping test. + * tests/test-vc-list-files-cvs.sh: Likewise. + +2008-09-26 Bruno Haible + + * doc/posix-headers/sys_resource.texi: Reorder items. + +2008-09-26 Jim Meyering + + fts: tweak inode comparison function + * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing + inode numbers, as documented. + + fts: sort dirent entries on inode number before traversing + This avoids a quadratic, seek-related performance penalty when + operating on a directory containing many entries (measurable at 10k; + 3.5 hours at 2 million entries with a cold cache) on certain types + of file systems, including ext3 and ext4, but not tmpfs. + * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define. + (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined. + (S_MAGIC_TMPFS, S_MAGIC_NFS): Define. + (fs_handles_readdir_ordered_dirents_efficiently): New function. + (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise. + (fts_build): Set the stat.st_ino member from D_INO. + If it is likely to be useful, sort dirent entries on inode number. + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h, + and the struct statfs.f_type member. + * modules/fts (Depends-on): Add d-ino. + +2008-09-26 Bruno Haible + + * modules/sigpipe-die (Depends-on): Add sigpipe. + + * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc, + putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS + and GNULIB_STDIO_H_SIGPIPE are set. + * lib/stdio-write.c: New file. + * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF, + GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, + GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, + REPLACE_STDIO_WRITE_FUNCS. + (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF, + GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, + GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, + GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS. + * modules/stdio (Files): Add lib/stdio-write.c. + (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF, + GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, + GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, + GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS. + * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define + REPLACE_FPRINTF_POSIX. + * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define + REPLACE_PRINTF_POSIX. + * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define + REPLACE_VFPRINTF_POSIX. + * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define + REPLACE_VPRINTF_POSIX. + * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the + SIGPIPE issue. + * doc/posix-functions/fputc.texi: Likewise. + * doc/posix-functions/fputs.texi: Likewise. + * doc/posix-functions/fwrite.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/putc.texi: Likewise. + * doc/posix-functions/putchar.texi: Likewise. + * doc/posix-functions/puts.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + + * modules/safe-write (Depends-on): Add write. + + * modules/sigpipe-tests: New file. + * tests/test-sigpipe.c: New file. + * tests/test-sigpipe.sh: New file. + + * modules/write: New file. + * lib/unistd.in.h: Include . + (write): New declaration. + * lib/write.c: New file. + * m4/write.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE. + * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE, + GNULIB_WRITE, REPLACE_WRITE. + * doc/posix-functions/write.texi: Mention the write, sigpipe modules + and the SIGPIPE issue. + + * lib/signal.in.h (SIGPIPE): Define to a replacement value. + (raise): New declaration. + * lib/sigprocmask.c (SIGPIPE_handler): New variable. + (ext_signal): New function. + (rpl_raise): New function. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize + GNULIB_SIGNAL_H_SIGPIPE. + * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE. + * doc/posix-headers/signal.texi: Mention the SIGPIPE issue. + + * modules/sigpipe: New file. + * m4/sigpipe.m4: New file. + +2008-09-25 Derek Price + Bruno Haible + + * gnulib-tool (func_import): Report all license incompatibilities, not + just the first one. + +2008-09-25 Bruno Haible + + * gnulib-tool (func_import): When computing the edits, consider not + only the Makefile.ams that exist but also those that will be generated. + +2008-09-25 Simon Josefsson + + * modules/sys_select-tests (Depends-on): Remove sys_select itself, + fixes gnulib-tool --test warning about duplicate dependency. + +2008-09-25 Bruno Haible + + * gnulib-tool: Don't ask the user to perform edits in the generated + Makefile.ams. + (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that + apply to the Makefile.am being generated. + (func_emit_tests_Makefile_am): Execute edits that apply to the + Makefile.am being generated. + (func_import): Setup list of Makefile.am edits before emitting the + Makefile.ams, not at the end. + (func_create_testdir): Update. + Reported by Yoann Vandoorselaere . + +2008-09-25 Yoann Vandoorselaere + + * gnulib-tool (func_import): Store the --tests-base option in the + comment in gnulib-cache.m4. + +2008-09-24 Paolo Bonzini + + * NEWS: Document increased portability that sys_select now provides. + + * lib/sys_select.in.h: Install select wrapper. + * lib/sys_socket.in.h: Use more descriptive name when there is no + select wrapper. + * lib/winsock-select.c: New. + * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used. + Require gl_HEADER_SYS_SOCKET. + * modules/sys_select: Depend on alloca, add lib/winsock-select.c. + * modules/sys_select-tests: Copy dependencies from modules/poll-tests. + * tests/test-sys_select.c: Add functional tests. + +2008-09-24 Eric Blake + + open, fopen: close fd leak in last patch + * lib/open.c (rpl_open): Close fd before returning error. + * lib/fopen.c (rpl_fopen): Close fd before returning error. + * doc/posix-functions/open.texi (open): Document that Irix also + has the bug. + * doc/posix-functions/fopen.texi (fopen): Likewise. + Reported by Paolo Bonzini. + +2008-09-24 Bruno Haible + + Ensure that a filename ending in a slash cannot be used to access a + non-directory. + * lib/open.c (rpl_open): When the filename ends in a slash, use fstat() + to check whether it's really a directory. + * lib/fopen.c: Include fcntl.h, unistd.h. + (rpl_fopen): When the filename ends in a slash, use open(), fstat(), + and fdopen(). + * modules/fopen (Depends-on): Add unistd. + * tests/test-open.c (main): Try to open "/dev/null/" as a directory. + * tests/test-fopen.c (main): Likewise. + * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug. + * doc/posix-functions/fopen.texi: Likewise. + Reported by Eric Blake. + +2008-09-23 Eric Blake + + c-stack: avoid compiler optimizations when provoking overflow + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make + recursion harder to optimize, to ensure a stack overflow occurs. + * tests/test-c-stack.c (recurse): Likewise. + Borrowed from libsigsegv. + + c-stack: work around Irix sigaltstack bug + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check + whether sigaltstack uses wrong end of stack_t (copied in part from + libsigsegv). + * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around + Irix bug, without requiring an over-allocation. + * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the + bug. + + fopen: document mingw bug on directories + * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for + not allowing a stream visiting a directory, even though reading + from such a stream is not portable. + +2008-09-23 Paolo Bonzini + + * lib/poll.c: Rewrite. + * modules/poll: Depend on alloca. + +2008-09-23 Paolo Bonzini + + * lib/sys_socket.in.h: Do not implement rpl_setsockopt here, + instead define prototypes for a full set of wrappers. Ensure + that Cygwin does not use the compatibility code, which is only + for MinGW. + * lib/winsock.c: New. + * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used. + * modules/sys_socket: Add lib/winsock.c. + + * modules/poll-tests: Add errno and perror. + * tests/test-poll.c: Use ioctl, not ioctlsocket. + +2008-09-23 Paolo Bonzini + + * tests/test-poll.c: Downgrade minimum needed Winsock version. + +2008-09-23 Bruno Haible + + * doc/posix-functions/*: Add info about functions missing on IRIX 5.3. + * doc/glibc-functions/*: Likewise. + +2008-09-23 Simon Josefsson + + * tests/test-perror.sh (tmpfiles): Cleanup temporary files on + success. + +2008-09-22 Eric Blake + Bruno Haible + + vasnprintf: fix x86/glibc regression on printf("%La", 0.0L) + * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that + supply %A but mishandle pseudo-NaN. + Reported by Simon Josefsson. + +2008-09-21 Bruno Haible + + * tests/test-lock.c (main): Tweak skip message. + * tests/test-tls.c (main): Likewise. + +2008-09-21 Bruno Haible + + * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check + whether 'struct sigaction' has sa_sigaction here... + (gl_PREREQ_SIG_HANDLER_H): ... not here. + (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST. + +2008-09-21 Bruno Haible + + * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New + section. + (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol, + strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to + the new section. + (Support for obsolete systems lacking POSIX:2001): New section. + (String handling ): Move strdup to the new section. + Suggested by Simon Josefsson and Paolo Bonzini. + +2008-09-21 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit + exponents in %e and %g results on 'long double'. Needed for mingw's + improved *printf functions. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + Reported by Eric Blake. + +2008-09-21 Bruno Haible + + * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs. + * tests/test-sprintf-posix.h (test_function): Likewise. + +2008-09-21 Bruno Haible + + * modules/getpass (Depends-on): Add strdup-posix. + + New module 'strdup-posix'. + * modules/strdup-posix: New file. + * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro. + * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STRDUP. + * modules/string (Makefile.am): Substitute REPLACE_STRDUP. + * doc/posix-functions/strdup.texi: Mention module strdup-posix. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strdup-posix. + + * modules/strdup (Depends-on): Remove malloc-posix. + +2008-09-20 Bruno Haible + + * lib/fstrcmp.c: Add data about branch probabilities, from Ralf + Wildenhues. + +2008-09-20 Bruno Haible + + Ensure that wint_t gets defined on IRIX 5.3. + * lib/wchar.in.h (wint_t): Define if not defined by the system. + * lib/wctype.in.h (wint_t): Likewise. + (__wctype_wint_t): Remove type. + (isw*): Use wint_t instead of __wctype_wint_t. + * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T. + * modules/wchar (Files): Add m4/wint_t.m4. + (Makefile.am): Substitute HAVE_WINT_T. + * tests/test-wchar.c: Check that wchar_t and wint_t are defined. + * tests/test-wctype.c: Check that wint_t is defined. + * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem. + * doc/posix-headers/wctype.texi: Likewise. + Reported by Tom G. Christensen . + +2008-09-18 Bruno Haible + + * gnulib-tool (func_exit): Update comment. + 2008-09-18 Simon Josefsson * modules/getaddrinfo (Depends-on): Remove strdup, this module @@ -6,11 +354,15 @@ 2008-09-18 Bruno Haible + * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in + NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two + digits for the exponent. + +2008-09-18 Jim Meyering + Bruno Haible + * lib/vasnprintf.c (decimal_point_char): Define also if NEED_PRINTF_INFINITE_LONG_DOUBLE. - (VASNPRINTF): When printing ±0.0L in NEED_PRINTF_INFINITE_LONG_DOUBLE - case with 'e' format, always use two digits for the exponent. - Reported by Jim Meyering. 2008-09-16 Bruno Haible and Eric Blake