X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=4aaa4e9f4c32b7fe315de90d50c6f64884368e04;hb=551ee6493e89f30ea3d1cc75bcaaa3d5e5fab7e1;hp=686d7a5919c3d342689a89f1bfd4214a29d8a116;hpb=cbfd25f0edf5f4b853e8ed2e01a4782ec80faba2;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 686d7a591..4aaa4e9f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1033 @@ +2011-07-24 Bruno Haible + + doc: Mention new glibc headers and functions. + * doc/glibc-headers/gshadow.texi: New file. + * doc/glibc-functions/endsgent.texi: New file. + * doc/glibc-functions/fgetsgent.texi: New file. + * doc/glibc-functions/fgetsgent_r.texi: New file. + * doc/glibc-functions/getsgent.texi: New file. + * doc/glibc-functions/getsgent_r.texi: New file. + * doc/glibc-functions/getsgnam.texi: New file. + * doc/glibc-functions/getsgnam_r.texi: New file. + * doc/glibc-functions/putsgent.texi: New file. + * doc/glibc-functions/setsgent.texi: New file. + * doc/glibc-functions/sgetsgent.texi: New file. + * doc/glibc-functions/sgetsgent_r.texi: New file. + * doc/glibc-functions/malloc_info.texi: New file. + * doc/glibc-functions/preadv.texi: New file. + * doc/glibc-functions/pwritev.texi: New file. + * doc/glibc-functions/register_printf_modifier.texi: New file. + * doc/glibc-functions/register_printf_specifier.texi: New file. + * doc/glibc-functions/register_printf_type.texi: New file. + * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file. + * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file. + * doc/glibc-functions/pthread_getaffinity_np.texi: New file. + * doc/glibc-functions/pthread_getname_np.texi: New file. + * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file. + * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file. + * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file. + * doc/glibc-functions/pthread_setaffinity_np.texi: New file. + * doc/glibc-functions/pthread_setname_np.texi: New file. + * doc/glibc-functions/pthread_sigqueue.texi: New file. + * doc/glibc-functions/pthread_timedjoin_np.texi: New file. + * doc/glibc-functions/pthread_tryjoin_np.texi: New file. + * doc/glibc-functions/qsort_r.texi: New file. + * doc/glibc-functions/quick_exit.texi: New file. + * doc/glibc-functions/syncfs.texi: New file. + * doc/gnulib.texi: Include them. + (Glibc gshadow.h, Glibc sys/uio.h): New sections. + * doc/posix-functions/psiginfo.texi: Fix info about glibc version. + * doc/posix-functions/pthread_mutex_consistent.texi: Likewise. + * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise. + * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise. + * doc/glibc-functions/execvpe.texi: Likewise. + +2011-07-24 Paul Eggert + + ftell: don't include + * lib/ftell.c: Don't include . is now + guaranteed to define off_t, and the ftell module depends on the + stdio module. + + ftell: do not assume wraparound signed arithmetic + * lib/ftell.c: Include . + (ftell): Don't assume wraparound signed arithmetic. + +2011-07-24 Bruno Haible + + close: No longer depend on module 'fclose'. + * modules/close (Depends-on): Remove fclose. + * NEWS: Mention the change. + Suggested by Sam Steingold . + +2011-07-24 Bruno Haible + + fsusage: Enable large volume support on AIX >= 5.2. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a + larger f_blocks field than 'struct statvfs', define STAT_STATVFS64 + instead of STAT_STATVFS. + * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64. + + fsusage: Restore previous behaviour on AIX, Cygwin, Interix. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs + f_blocks field only on MacOS X. + + fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE. + * modules/fsusage (Depends-on): Add largefile. + +2011-07-24 Paul Eggert + + * README: Modernize discussion of signed integers. + Assuming overflow wraparound is no longer safe. + Mention ones' complement and signed magnitude. + +2011-07-22 Bruno Haible + + select tests, pselect tests: Refactor. + * tests/test-select.h: New file, extracted from tests/test-select.c. + (select_fn): New type. + (test, do_select, do_select_nowait, do_select_wait, test_tty, + test_connect_first, test_accept_first, test_pair, test_socket_pair, + test_pipe): Add my_select argument. + (test_function): Renamed from main. Add my_select argument. + * tests/test-select.c: Move most code to tests/test-select.h. Include + test-select.h. + * modules/select-tests (Files): Add tests/test-select.h. + * tests/test-pselect.c: Include test-select.h instead of test-select.c. + (my_select, main): New functions. + * modules/pselect-tests (Files): Add tests/test-select.h, + tests/macros.h, tests/signature.h. + (Depends-on): Remove select-tests. Add dependencies of test-select.h. + (configure.ac): Check for . + +2011-07-22 Bruno Haible + + sys_select tests: Check the signature of FD_*. + * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move + signature tests from here... + * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to + here. + * modules/sys_select-tests (Files): Add tests/signature.h. + +2011-07-22 Paul Eggert + + largefile: new module, replacing large-inode + Pádraig Brady suggested this in . + * MODULES.html.sh: Add largefile, remove large-inode. + * modules/largefile, m4/largefile.m4: New files. + * modules/large-inode, m4/large-inode.m4: Remove. + + fsusage: port to MacOS X 10.7 with 4 TiB file systems + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs + implementations that use only 32 bits to count blocks. + On typical hosts with 1024-byte blocks, this fails with file + systems as small as 4 TiB. Problem reported by Herb Wartens + and this should also fix a similar + problem reported by Tim Spriggs . + + large-inode: New module + * MODULES.html.sh: Add it. + * modules/large-inode, m4/large-inode.m4: New files. + + extensions: Enable extensions on MacOS X 10.5 and later. + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE. + +2011-07-22 Kamil Dudka + + file-has-acl: use acl_extended_file_nofollow if available + * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro. + (acl_extended_file): New macro. + * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow. + * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow. + +2011-07-21 Bruno Haible + + Declare system functions in a way that works with C++. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program, + declare fdopendir as extern "C". + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program, + declare frexpl as extern "C". + * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program, + declare gai_strerror as extern "C". + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test + programs, declare gai_strerror as extern "C". + * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program, + declare getlogin_r as extern "C". + * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl + as extern "C". + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program, + declare ldexpl as extern "C". + * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb + as extern "C". + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test + program, declare getmntinfo as extern "C". + * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare + stpncpy as extern "C". + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test + program, declare __xpg_strerror_r as extern "C". + * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare + strndup as extern "C". + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program, + declare memset and bzero as extern "C". + Reported by Sam Steingold . + +2011-07-12 Jim Meyering + + maint.mk: prohibit inclusion of "verify.h" without use + * top/maint.mk (sc_prohibit_verify_without_use): New rule. + +2011-07-19 Pádraig Brady + + timer-time: A new module to check for timer_settime() + * m4/timer_time.m4: Check for the posix function. + * modules/timer-time: Add the new module. + * MODULES.html.sh (Compat checks for POSIX:2008 functions): + Mention it. + +2011-07-19 Paul Eggert + Bruno Haible + + pthread_sigmask: assume POSIX threads if --avoid=threadlib + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is + not defined, assume POSIX threads and look for pthread_sigmask in + $LIBS, without changing $CPPFLAGS. + +2011-07-19 Bruno Haible + + strstr: Update cross-compilation guess. + * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64 + CPUs, guess no, in view of glibc + BZ #12100 . + Suggested by Eric Blake. Reported by Reuben Thomas. + +2011-07-19 Pádraig Brady + + getopt-gnu: suppress core dumps from detection code + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module + to suppress core dumps that may well occur on glibc systems. + * modules/getopt-gnu: Depend on nocrash. + +2011-07-16 Paul Eggert + + pthread_sigmask: ensure usleep is declared + * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]: + Include , to declare usleep. Needed on Solaris 8, + +2011-07-15 Paul Eggert + + doc: Document NonStop portability issues. + * doc/posix-functions/sigaction.texi (sigaction): + * doc/posix-headers/signal.texi (signal.h): + Document NonStop. See Joachim Schmitz in + http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html + +2011-07-15 Bruno Haible + + ffsl, ffsll: Avoid unportable behaviour. + * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'. + +2011-07-15 Bruno Haible + + ffs: More tests. + * tests/test-ffs.c (NBITS): New macro. + (main): Add more tests. + * tests/test-ffsl.c (NBITS): New macro. + (main): Add more tests. + * tests/test-ffsll.c (NBITS): New macro. + (main): Add more tests. + +2011-07-15 Eric Blake + + ffsl, ffsll: new modules + * modules/ffsl: New file. + * modules/ffsll: Likewise. + * m4/ffsl.m4: Likewise. + * m4/ffsll.m4: Likewise. + * lib/ffsl.c: Likewise. + * lib/ffsl.h: Likewise. + * lib/ffsll.c: Likewise. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY) + (gl_HEADER_STRING_H_DEFAULTS): Add defaults. + * modules/string (Makefile.am): Substitute witnesses. + * lib/strings.in.h (ffsl, ffsll): Declare. + * modules/ffsl-tests: New test file. + * modules/ffsll-tests: Likewise. + * tests/test-ffsl.c: Likewise. + * tests/test-ffsll.c: Likewise. + * MODULES.html.sh (Integer arithmetic functions): Mention it. + * doc/glibc-functions/ffsl.texi (ffsl): Likewise. + * doc/glibc-functions/ffsll.texi (ffsll): Likewise. + + ffs: fix m4 prerequisite + * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults. + + ffs: avoid undefined behavior + * lib/ffs.c (ffs): Provide fallback for non-32-bit int. + * tests/test-ffs.c (naive, main): Avoid signed shifts. + Reported by Bruno Haible. + +2011-07-12 Bruno Haible + + pthread_sigmask: Rely on module 'threadlib'. + * modules/pthread_sigmask (Depends-on): Add threadlib. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB + is defined. + +2011-07-12 Bruno Haible + + regex: Depend on module 'strcase'. + * modules/regex (Depends-on): Add strcase, for strcasecmp(). + +2011-07-12 Jim Meyering + + warn-on-use: fix typo in file name + * modules/snippet/warn-on-use (Files): Correct file name: + include /snippet/ component in "build-aux/snippet/warn-on-use.h". + +2011-07-12 Bruno Haible + + strings: Document module. + * doc/posix-headers/strings.texi: Mention module 'strings'. + +2011-07-12 Bruno Haible + + Rename module '_Noreturn' to 'snippet/_Noreturn'. + * modules/snippet/_Noreturn: Renamed from modules/_Noreturn. + (Files, Makefile.am): Update. + * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h. + * modules/stdlib (Depends-on): Update. + +2011-07-12 Bruno Haible + + * NEWS: Mention the changes. + + Rename module 'warn-on-use' to 'snippet/warn-on-use'. + * modules/snippet/warn-on-use: Renamed from modules/warn-on-use. + (Files, Makefile.am): Update. + * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h. + * modules/arpa_inet (Depends-on): Update. + * modules/ctype (Depends-on): Update. + * modules/dirent (Depends-on): Update. + * modules/fcntl-h (Depends-on): Update. + * modules/glob (Depends-on): Update. + * modules/iconv-h (Depends-on): Update. + * modules/inttypes-incomplete (Depends-on): Update. + * modules/langinfo (Depends-on): Update. + * modules/locale (Depends-on): Update. + * modules/math (Depends-on): Update. + * modules/netdb (Depends-on): Update. + * modules/poll-h (Depends-on): Update. + * modules/pty (Depends-on): Update. + * modules/search (Depends-on): Update. + * modules/signal (Depends-on): Update. + * modules/spawn (Depends-on): Update. + * modules/stdio (Depends-on): Update. + * modules/stdlib (Depends-on): Update. + * modules/string (Depends-on): Update. + * modules/strings (Depends-on): Update. + * modules/sys_file (Depends-on): Update. + * modules/sys_ioctl (Depends-on): Update. + * modules/sys_select (Depends-on): Update. + * modules/sys_socket (Depends-on): Update. + * modules/sys_stat (Depends-on): Update. + * modules/sys_time (Depends-on): Update. + * modules/sys_times (Depends-on): Update. + * modules/sys_utsname (Depends-on): Update. + * modules/sys_wait (Depends-on): Update. + * modules/termios (Depends-on): Update. + * modules/time (Depends-on): Update. + * modules/unistd (Depends-on): Update. + * modules/wchar (Depends-on): Update. + * modules/wctype-h (Depends-on): Update. + * MODULES.html.sh (Support for building libraries and executables): + Update. + + Rename module 'unused-parameter' to 'snippet/unused-parameter'. + * modules/snippet/unused-parameter: Renamed from + modules/unused-parameter. + (Files, Makefile.am): Update. + * build-aux/snippet/unused-parameter.h: Renamed from + build-aux/unused-parameter.h. + * modules/selinux-h (Depends-on): Update. + * modules/unistr/base (Depends-on): Update. + * MODULES.html.sh (Core language properties): Update. + + Rename module 'link-warning' to 'snippet/link-warning'. + * modules/snippet/link-warning: Renamed from modules/link-warning. + (Files, Makefile.am): Update. + * build-aux/snippet/link-warning.h: Renamed from + build-aux/link-warning.h. + * MODULES.html.sh (Support for building libraries and executables): + Update. + + Rename module 'c++defs' to 'snippet/c++defs'. + * modules/snippet/c++defs: Renamed from modules/c++defs. + (Files, Makefile.am): Update. + * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h. + * modules/arpa_inet (Depends-on): Update. + * modules/ctype (Depends-on): Update. + * modules/dirent (Depends-on): Update. + * modules/fcntl-h (Depends-on): Update. + * modules/glob (Depends-on): Update. + * modules/iconv-h (Depends-on): Update. + * modules/langinfo (Depends-on): Update. + * modules/locale (Depends-on): Update. + * modules/math (Depends-on): Update. + * modules/netdb (Depends-on): Update. + * modules/poll-h (Depends-on): Update. + * modules/pty (Depends-on): Update. + * modules/search (Depends-on): Update. + * modules/signal (Depends-on): Update. + * modules/spawn (Depends-on): Update. + * modules/stdio (Depends-on): Update. + * modules/stdlib (Depends-on): Update. + * modules/string (Depends-on): Update. + * modules/strings (Depends-on): Update. + * modules/sys_ioctl (Depends-on): Update. + * modules/sys_select (Depends-on): Update. + * modules/sys_socket (Depends-on): Update. + * modules/sys_stat (Depends-on): Update. + * modules/sys_time (Depends-on): Update. + * modules/sys_wait (Depends-on): Update. + * modules/termios (Depends-on): Update. + * modules/time (Depends-on): Update. + * modules/unistd (Depends-on): Update. + * modules/wchar (Depends-on): Update. + * modules/wctype-h (Depends-on): Update. + + Rename module 'arg-nonnull' to 'snippet/arg-nonnull'. + * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull. + (Files, Makefile.am): Update. + * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h. + * modules/argv-iter (Depends-on): Update. + * modules/arpa_inet (Depends-on): Update. + * modules/dirent (Depends-on): Update. + * modules/fcntl-h (Depends-on): Update. + * modules/fnmatch (Depends-on): Update. + * modules/getopt-posix (Depends-on): Update. + * modules/glob (Depends-on): Update. + * modules/iconv-h (Depends-on): Update. + * modules/inttypes-incomplete (Depends-on): Update. + * modules/locale (Depends-on): Update. + * modules/math (Depends-on): Update. + * modules/netdb (Depends-on): Update. + * modules/search (Depends-on): Update. + * modules/signal (Depends-on): Update. + * modules/spawn (Depends-on): Update. + * modules/stdio (Depends-on): Update. + * modules/stdlib (Depends-on): Update. + * modules/string (Depends-on): Update. + * modules/strings (Depends-on): Update. + * modules/sys_socket (Depends-on): Update. + * modules/sys_stat (Depends-on): Update. + * modules/sys_time (Depends-on): Update. + * modules/sys_times (Depends-on): Update. + * modules/sys_utsname (Depends-on): Update. + * modules/time (Depends-on): Update. + * modules/unistd (Depends-on): Update. + * modules/wchar (Depends-on): Update. + * MODULES.html.sh (Support for building libraries and executables): + Update. + +2011-07-12 Paul Eggert + + Improvements on _Noreturn and related modules. + + modules/_Exit-tests: test _Noreturn too + * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the + old tests/test-stdnoreturn.c. This tests the _Noreturn keyword a bit. + (main): Use them. + + stdnoreturn, stdnoreturn-tests: remove modules + They're not needed here and a bit premature for use elsewhere. See + . + * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests: + * tests/test-stdnoreturn.c: Remove files. + * MODULES.html.sh (_Noreturn ): Remove section. + * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h: + * lib/xstrtol.h: Use _Noreturn rather than including + and using noreturn. + * modules/openat, modules/sigpipe-die, modules/xalloc: + * modules/xmemdup0, modules/xstrtol: + Remove dependency on stdnoreturn. + + _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER. + * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__. + Reparenthesize to avoid GCC warning. + Support Microsoft's syntax. + * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise. + + _Noreturn-tests: remove module + * modules/_Noreturn-tests: Remove. + * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c. + * tests/test-_Noreturn.c: Remove. + * tests/test-stdnoreturn.c: Merge from the old + tests/test-_Noreturn.c, testing both noreturn and _Noreturn. + +2011-07-12 Paul Eggert + + _Noreturn, stdnoreturn, and related modules. + + * top/maint.mk: Adjust to new noreturn support. + (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN. + (def_sym_regex): Do not remove ATTRIBUTE_NORETURN. + + xalloc: use stdnoreturn.h + * lib/xalloc.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xalloc (Depends-on): Add stdnoreturn. + + xstrtol: use stdnoreturn.h + * lib/xstrtol.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xstrtol (Depends-on): Add stdnoreturn. + + xmemdup0: use stdnoreturn.h + * lib/xmemdup0.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xmemdup0 (Depends-on): Add stdnoreturn. + + sigpipe-die: use stdnoreturn.h + * lib/sigpipe-die.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/sigpipe-die (Depends-on): Add stdnoreturn. + + openat: use stdnoreturn.h + * lib/openat.h: Include . + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/openat (Depends-on): Add stdnoreturn. + + * lib/openat-die.c (openat_save_fail): Modernize comment. + + * lib/xalloc-die.c (xalloc_die): Modernize comment. + + * lib/glthread/thread.h: Modernize comment. + + obstack: use _Noreturn + * lib/obstack.c (__attribute__): Remove macro. + (print_and_abort): Use _Noreturn. + + c-stack: use _Noreturn + * lib/c-stack.c (die, overflow_handler, segv_handler): + Use _Noreturn rather than __attribute__((noreturn)). + + argmatch-tests, exclude_tests: use _Noreturn + * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): + Remove. + (ARGMATCH_DIE_DECL): Use _Noreturn instead. + + stdlib: use _Noreturn + * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove. + (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN. + * modules/stdlib (Depends-on): Add _Noreturn. + (stdlib.h): Depend on $(_NORETURN_H), and copy it in. + + stdnoreturn-tests: new module + * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files. + + stdnoreturn: new module + * MODULES.html.sh (Noreturn ): New section. + * m4/stdnoreturn.m4, modules/stdnoreturn: New files. + + _Noreturn-tests: new module + * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files. + + _Noreturn: new module + * MODULES.html.sh (Support for systems lacking draft ISO C 1X): + New section, mentioning it. + * build-aux/_Noreturn.h, modules/_Noreturn: New files. + + * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn. + +2011-07-11 Eric Blake + + ffs: new module + * modules/ffs: New file. + * m4/ffs.m4: Likewise. + * lib/ffs.c: Likewise. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default. + * modules/strings (Makefile.am): Substitute witness. + (Depends-on): Add c++defs. + * lib/strings.in.h (ffs): Declare. + * modules/ffs-tests: New test file. + * tests/test-ffs.c: Test new module. + * MODULES.html.sh (Integer arithmetic functions): Mention it. + * doc/posix-functions/ffs.texi (ffs): Likewise. + + regex: avoid compiler warning + * lib/regex.c (includes): Include , for use of + strcasecmp in regcomp.c. + Reported by Joachim Schmitz. + +2011-07-09 Paul Eggert + + stdint: respect system's intmax_t if INTMAX_MAX + * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines + INTMAX_MAX, assume its intmax_t is OK. Similarly for and + uintmax_t. This is for some Mac OS X builds, where intmax_t is + long but int64_t is long long, and where we will clash with the + system intmax_t if we override it. See + . + (INTMAX_C, UINTMAX_C): For consistency, respect the system's + INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and + similarly for UINTMAX_C. + +2011-07-08 Bruno Haible + + pthread_sigmask tests: Avoid a compiler warning. + * tests/test-pthread_sigmask1.c (main): Complain if system() returns + non-zero. + + sigprocmask tests: A better way to avoid a compiler warning. + * tests/test-sigprocmask.c: Don't include "ignore-value.h". + (main): Complain if system() returns non-zero. + * modules/sigprocmask-tests (Depends-on): Remove ignore-value. + +2011-07-08 Bruno Haible + + pthread_sigmask: Work around IRIX bug. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX + bug. + * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when + there may be unblocked pending signals. + * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug. + +2011-07-08 Bruno Haible + + pthread_sigmask: Work around Cygwin bug. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin + bug. + * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from + the system's pthread_sigmask function. + * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug. + +2011-07-08 Bruno Haible + + pthread_sigmask: Work around bug in single-threaded implementation. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the + FreeBSD, HP-UX, Solaris bug. + (gl_PREREQ_PTHREAD_SIGMASK): New macro. + * lib/pthread_sigmask.c: Include . + (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around + the system's pthread_sigmask function. + * modules/pthread_sigmask (configure.ac): Invoke + gl_PREREQ_PTHREAD_SIGMASK. + * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD, + HP-UX, Solaris. + +2011-07-08 Eric Blake + + test-sigprocmask: avoid compiler warning + * modules/sigprocmask-tests (Depends-on): Add ignore-value. + * tests/test-sigprocmask.c (main): Use it to silence warning. + Reported by Jim Meyering. + + test-snprintf: avoid compiler warning + * tests/test-snprintf.c (main): Avoid shadowed declaration. + * tests/test-vsnprintf.c (main): Likewise. + Reported by Jim Meyering. + +2011-07-08 Bruno Haible + + Tests for module 'pthread_sigmask'. + * modules/pthread_sigmask-tests: New file. + * tests/test-pthread_sigmask1.c: New file, based on + tests/test-sigprocmask.c. + * tests/test-pthread_sigmask2.c: New file. + +2011-07-08 Jim Meyering + + test-getopt.h: avoid warning about an unused variable + * tests/test-getopt.h (test_getopt): Remove unused variable, "c". + +2011-07-07 Jim Meyering + + maint: reduce list of files exempt from sc_prohibit_leading_TABs + * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4, + now that it no longer contains leading TABs. + Remove unused "url=FIXME" statement. + +2011-07-08 Paul Eggert + + pthread_sigmask: Assume POSIX when not gl_THREADLIB. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): + When gl_THREADLIB is not in use, assume that the POSIX sematics + are desired. This is better for Emacs, which uses POSIX semantics + on GNUish and/or POSIXish platforms, and does not use threads at + all otherwise. + + pthread_sigmask: fix typo when testing for libraries + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): + AC_LINK_IFELSE, not AC_COMPILE_IFELSE. + +2011-07-08 Eric Blake + + fts: introduce FTS_NOATIME + * lib/fts_.h (FTS_NOATIME): New bit flag. + (FTS_OPTIONMASK): Adjust. + * lib/fts.c (diropen, fts_open, fts_build): Honor it. + (fd_ring_check): Debug code unconditionally uses O_NOATIME. + +2011-07-08 Bruno Haible + + Tests for module 'thread'. + * modules/thread-tests: New file. + * tests/test-thread_self.c: New file. + * tests/test-thread_create.cc: New file. + +2011-07-08 Bruno Haible + + thread: Avoid gcc warnings when using gl_thread_self(). + * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a + 'void *'. + (gl_thread_self_pointer): Update. + +2011-07-07 Bruno Haible + + signal-c++-tests: Check declaration of pthread_sigmask. + * tests/test-signal-c++.cc: Check declaration of pthread_sigmask. + * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against + $(LIB_PTHREAD_SIGMASK). + +2011-07-07 Bruno Haible + + pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth. + * lib/signal.in.h (pthread_sigmask): Override if + REPLACE_PTHREAD_SIGMASK is 1. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize + REPLACE_PTHREAD_SIGMASK. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also + REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK. + * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK. + * modules/pthread_sigmask (Depends-on, configure.ac): Update condition. + (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD). + +2011-07-07 Bruno Haible + + pthread_sigmask: Ensure declaration in . + * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6, + include . + * doc/posix-functions/pthread_sigmask.texi: Mention the header file + problem. + +2011-07-07 Bruno Haible + + pthread_sigmask: Document the module. + * doc/posix-functions/pthread_sigmask.texi: Mention the new module. + +2011-07-07 Bruno Haible + + pthread_sigmask: Follow gnulib conventions. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from + gl_PTHREAD_SIGMASK. + * modules/pthread_sigmask (configure.ac): Update. + +2011-07-07 Bruno Haible + + pthread_sigmask: Make declaration C++ safe. + * lib/signal.in.h: In two special conditions, just do an #include_next. + (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK. + Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN. + * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize + HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK. + * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK, + not REPLACE_PTHREAD_MASK. + * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK, + not REPLACE_PTHREAD_MASK. + * modules/pthread_sigmask (Depends-on, configure.ac): Update condition. + +2011-07-07 Bruno Haible + + pthread_sigmask: Fix return value. + * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro. + * lib/pthread_sigmask.c: New file. + * modules/pthread_sigmask (Files): Add it. + (configure.ac): Invoke AC_LIBOBJ. + +2011-07-07 Eric Blake + + getopt: more portable argv creation + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away + const, use char arrays rather than strings. + Suggested by Paul Eggert. + +2011-07-07 Bruno Haible + + Tests for module 'sigprocmask'. + * modules/sigprocmask-tests: New file. + * tests/test-sigprocmask.c: New file. + +2011-07-07 Bruno Haible + + float tests: Tweak. + * tests/test-float.c (main): Tweak skip message. + +2011-07-07 Eric Blake + + getopt: avoid compiler warning during configure + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with + assigning string literals to non-const pointer. + + getopt-gnu: avoid crash in glibc getopt + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem. + * tests/test-getopt.h (test_getopt): Enhance test. + * tests/test-getopt_long.h (test_getopt_long): Likewise. + * doc/posix-functions/getopt.texi (getopt): Document it. + * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise. + * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): + Likewise. + +2011-07-07 Ulrich Drepper + + getopt: handle W; without long options in getopt [BZ #12922] + * lib/getopt.c (_getopt_internal_r): When "W;" is in short options + but no long options are defined, just return 'W'. + +2011-07-07 Bruno Haible + + Avoid literal tabs. + * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell + variable containing a tab instead of a literal tab. + Reported by Jim Meyering. + +2011-07-07 Bruno Haible + + Comments. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw. + +2011-07-06 Bruno Haible + + sys_select: Fix compilation error on mingw, introduced on 2011-06-30. + * lib/sys_select.in.h: Don't include . Instead, include + . + (rpl_fd_isset, FD_ISSET): New definitions, copied from + lib/sys_socket.in.h. + (close, gethostname): Hide declarations from . + (socket, connect, accept, bind, getpeername, getsockname, getsockopt, + listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise. + * lib/sys_socket.in.h (close, gethostname): Tweak indentation. + (select): Don't override if gnulib's was already + included. + * lib/unistd.in.h (socket, connect, accept, bind, getpeername, + getsockname, getsockopt, listen, recv, send, recvfrom, sendto, + setsockopt, shutdown, select): Tweak indentation. + +2011-07-06 Paul Eggert + + * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR + and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed + in an application that does not use the sys_select module. + +2011-07-06 Erik Faye-Lund + + poll: do not return 0 on timeout=-1 + * lib/poll.c: Loop with yield if no events occured + +2011-07-06 Eric Blake + + pthread_sigmask: always replace when not using pthread + * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask + replacement when using some threading other than pthread. Fix + logic bug. + +2011-07-06 Bruno Haible + + Comments. + * m4/printf.m4: Update comments about mingw. + +2011-07-06 Paul Eggert + + sys_select: define sigset_t more portably + * lib/sys_select.in.h: Always include , since + we now need sigset_t and mingw defines it there. + Include before split inclusion guard, to avoid + mishaps on Solaris, whose eventually includes us. + * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T. + (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of + which come from ... + * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require + gl_CHECK_TYPE_SIGSET_T. + (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T + does the real work. + * modules/sys_select (Depends-on): Add 'signal'. + + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect. + Suggested by Bruno Haible. + + pselect: Use pthread_sigmask, not sigprocmask. + * lib/pselect.c (pselect): Use pthread_sigmask, as it supports + multithreaded apps better than sigprocmask does. + * modules/pselect (Depends-on): Depend on pthread_sigmask, not + sigprocmask directly. + +2011-07-05 Paul Eggert + + * lib/pselect.c (pselect): Use plain name, without "rpl_". + Don't #undef, since we don't need any underlying pselect. + * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT. + (Depends-on): Add select. + (Link): Add $(LIBSOCKET). + These changes suggested by Bruno Haible. + + pselect: document better + * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it. + * doc/posix-functions/pselect.texi (pselect): Document new module. + + pthread_sigmask: new module + * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it. + * doc/posix-functions/pthread_sigmask.texi: Document new module. + * lib/signal.in.h (pthread_sigmask): Arrange for replacement. + This is done only as a macro; I don't know how well that'll + work for C++. Move include before the include_next, + to avoid mishap on Solaris. + * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it. + * modules/signal (Makefile.am): Substitute the check's results. + * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files. + + test-pselect: new module + * modules/pselect-tests, tests/test-pselect.c: New files. + * tests/test-select.c, tests/test-sys_select-c++.cc: + If TEST_PSELECT is defined, test pselect instead of testing select. + + * tests/test-sys_select.c (sigset_t): Test for it, too. + Suggested by Bruno Haible. + +2011-07-05 Eric Blake + + snprintf: guarantee %1$d, for libintl + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise. + * doc/posix-functions/snprintf.texi (snprintf): Update. + * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise. + * tests/test-snprintf.c (main): Enhance test. + * tests/test-vsnprintf.c (main): Likewise. + +2011-07-05 Jim Meyering + + maint: exempt stdio-read.c and stdio-write.c from the cppi check + * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c + per Bruno's request, to accommodate this idiom (no space after "#") + even when the function is inside an #if block: + char * + gets (char *s) + #undef gets + { + ... + } + +2011-07-04 Jim Meyering + + maint: indent with spaces, not TABs, and add a rule to check this + * tests/test-userspec.c: Indent with spaces, not TABs. + * tests/test-argp.c: Likewise. + * tests/test-c-stack2.sh: Likewise. + * tests/test-parse-duration.sh: Likewise + * m4/strtod.m4: Likewise. + * m4/alloca.m4: Likewise. + * m4/pselect.m4: Likewise. + * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs. + +2011-07-03 Jim Meyering + + maint.mk: correct omissions in prohibit_argmatch_without_use check + This rule would mistakenly report that argmatch.h is included without + use even when both the argmatch and invalid_arg macro were used. + * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses + of argmatch and invalid_arg. + +2011-07-03 Bruno Haible + + Comments about EINTR. + * lib/safe-read.h: Explain the purpose of this module. + * lib/safe-write.h: Likewise. + * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read' + module. + * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write' + module. + Reported by Ralf Wildenhues . + +2011-06-30 Paul Eggert + + xnanosleep: Rewrite to use new dtotimespec module. + It has the conversion code that used to be in xnanosleep. + * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h, + assert.h, sys/types.h, or intprops.h. Include timespec.h instead. + (TIME_T_MAX): Remove. + (xnanosleep): Rewrite in terms of dtotimespec. + * modules/xnanosleep (Depends-on): Add dtotimespec. + Remove intprops, stdbool. + + timespec-add, timespec-sub: new modules + * lib/timespec.h (timespec_add, timespec_sub): New decls. + * lib/timespec-add.c, lib/timespec-sub.c: + * modules/timespec-add, modules/timespec-sub: New files. + + dtotimespec: new module + * lib/timespec.h (dtotimespec): New decl. + * lib/dtotimespec.c, modules/dtotimespec: New files. + + * lib/timespec.h (timespec_sign, timespectod): New inline functions. + + pselect: new module + * lib/sys_select.in.h: Include , for 'sigset_t'. + (pselect): New decls. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT, + since the standard pselect decl uses 'restrict'. + (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT, + HAVE_PSELECT, REPLACE_PSELECT. + * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT, + HAVE_PSELECT, REPLACE_PSELECT. + * lib/pselect.c, m4/pselect.m4, modules/pselect: New files. + + sys_select: don't depend on sys_socket + This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see + . + This fix works on GNU and GNU-like platforms, but has not been tested + on native Windows. + * lib/sys_select.in.h: Include only if native Windows. + * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require + gl_HEADER_SYS_SOCKET. + * modules/sys_select (Files): Add m4/sys_socket_h.m4, for + gl_PREREQ_SYS_H_WINSOCK2. + +2011-06-29 Eric Blake + + pipe2: fix C89 compile problem + * lib/pipe2.c (pipe2): Avoid C99 array initialization. + Reported by Bruno Haible. + + pipe, pipe2: don't corrupt fd on error + * lib/pipe.c (pipe): Leave fd unchanged on error. + * lib/pipe2.c (pipe2): Likewise. + * doc/posix-functions/pipe.texi (pipe): Document cygwin issue. + * doc/glibc-functions/pipe2.texi (pipe2): Likewise. + +2011-06-27 Paolo Bonzini + + mmap-anon: do not use regular expressions inadvertently + * m4/mmap-anon.m4: Remove trailing period from strings sought + in the output. + +2011-06-25 Paul Eggert + + nanosleep: fix integer overflow problem + * lib/nanosleep.c (my_usleep): Don't assume signed integer + arithmetic wraps around on overflow. + + nanosleep: simplify carrying + * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the + first call to the underyling nanosleep, not for the last one. + This doesn't fix any bugs, but it simplifies the computation of + the remaining delay. Found while auditing integer overflow issues. + + dup2: remove test for existence of fcntl + * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not + "#if HAVE_FCNTL", in the configure-time test program. + This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]), + and therefore speeds up "configure" a bit. Found while + adding the dup2 module to Emacs. + 2011-06-24 Eric Blake maint.mk: enhance useless header checks