]> Savannah Git Hosting - gnulib.git/log
gnulib.git
5 years agocrypto/gc-md2: Add comment.
Bruno Haible [Sat, 24 Aug 2019 13:01:44 +0000 (15:01 +0200)]
crypto/gc-md2: Add comment.

* lib/gc-libgcrypt.c: Add comment.

5 years agocrypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
Bruno Haible [Sat, 24 Aug 2019 12:28:15 +0000 (14:28 +0200)]
crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.

* modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
* modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
* modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
variable.

5 years agocrypto/gc: Fix link error with --with-libgcrypt.
Bruno Haible [Sat, 24 Aug 2019 12:00:57 +0000 (14:00 +0200)]
crypto/gc: Fix link error with --with-libgcrypt.

* m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
AC_LIB_HAVE_LINKFLAGS invocation.

5 years agocrypto/gc: Access the module indicators correctly.
Bruno Haible [Sat, 24 Aug 2019 11:32:44 +0000 (13:32 +0200)]
crypto/gc: Access the module indicators correctly.

* lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
* lib/gc-libgcrypt.c: Likewise.

5 years agogc: Fix configuration with --with-libgcrypt.
Bruno Haible [Sat, 24 Aug 2019 09:07:23 +0000 (11:07 +0200)]
gc: Fix configuration with --with-libgcrypt.

* m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
* modules/crypto/gc (Files): Add it.
* m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.

5 years agoRemove unused file.
Bruno Haible [Sat, 24 Aug 2019 07:24:17 +0000 (09:24 +0200)]
Remove unused file.

* m4/stat-macros.m4: Remove file.

5 years agoautoupdate
Paul Eggert [Wed, 21 Aug 2019 18:37:09 +0000 (11:37 -0700)]
autoupdate

5 years agoNew strip-trailing-space option for srclist-update
Paul Eggert [Wed, 21 Aug 2019 18:30:10 +0000 (11:30 -0700)]
New strip-trailing-space option for srclist-update

* config/srclist-update (fixfile): Support new option.
* config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
Use it.

5 years agoaccept4: Fix typo in previous commit
Eric Blake [Tue, 20 Aug 2019 19:33:40 +0000 (14:33 -0500)]
accept4: Fix typo in previous commit

* lib/accept4.c (accept4): Use correct preprocessor condition.

Signed-off-by: Eric Blake <eblake@redhat.com>
5 years agoaccept4: Support SOCK_NONBLOCK, if defined
Eric Blake [Tue, 20 Aug 2019 16:34:34 +0000 (11:34 -0500)]
accept4: Support SOCK_NONBLOCK, if defined

Ideally, we would improve our replacement <sys/socket.h> to define a
replacement SOCK_NONBLOCK on all platforms, and teach socket() to
honor it as well; but that's a bigger task.  In the meantime, if the
platform already has SOCK_NONBLOCK, we should honor it when doing a
fallback.

* lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.

5 years agoaccept4: Fix compilation when native accept4() exists.
Eric Blake [Tue, 20 Aug 2019 16:26:17 +0000 (11:26 -0500)]
accept4: Fix compilation when native accept4() exists.

Reported by Richard W.M. Jones <rjones@redhat.com> in
https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
* lib/accept4.c (accept4): Match witness symbol to m4 file update.

5 years agoautoupdate
Karl Berry [Mon, 19 Aug 2019 15:33:08 +0000 (08:33 -0700)]
autoupdate

5 years agoDefeat -flto GCC optimization in math autoconf tests.
Bruno Haible [Sun, 18 Aug 2019 14:12:29 +0000 (16:12 +0200)]
Defeat -flto GCC optimization in math autoconf tests.

Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
at <https://savannah.gnu.org/bugs/?56109>.

* m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
* m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
* m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
* m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
* m4/cosl.m4 (gl_FUNC_COSL): Likewise.
* m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
* m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
* m4/sinl.m4 (gl_FUNC_SINL): Likewise.
* m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
* m4/tanl.m4 (gl_FUNC_TANL): Likewise.

5 years agowindows-spin: Implement declared functions.
Bruno Haible [Fri, 16 Aug 2019 21:36:59 +0000 (23:36 +0200)]
windows-spin: Implement declared functions.

Reported by Gisle Vanem <gisle.vanem@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.

* lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
name.

5 years agointprops: port to Oracle Developer Studio 12.6
Paul Eggert [Sat, 17 Aug 2019 10:13:42 +0000 (03:13 -0700)]
intprops: port to Oracle Developer Studio 12.6

* lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
typos that were in a section not compiled by GCC.

5 years agointprops: support uchar, ushort _WRAPV dests
Paul Eggert [Thu, 15 Aug 2019 05:24:49 +0000 (22:24 -0700)]
intprops: support uchar, ushort _WRAPV dests

* lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
when __builtin_add_overflow etc. and _Generic are not used.
(_GL_INT_OP_WRAPV): Use it to support destinations that
are unsigned char or unsigned short, even in compilers
that lack __typeof__ and are not C11-compatible.

5 years agointprops: pacify picky GCC
Paul Eggert [Thu, 15 Aug 2019 01:05:57 +0000 (18:05 -0700)]
intprops: pacify picky GCC

* lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
possibly-incorrect result.
(_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
about (A) used as a boolean, when A is an expression like 3 * 4.

5 years agointprops: support unsigned *_WRAPV results
Paul Eggert [Thu, 15 Aug 2019 00:43:46 +0000 (17:43 -0700)]
intprops: support unsigned *_WRAPV results

Add support for unsigned, unsigned long, and unsigned long long
results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
bug with unsigned inputs reported by Eli Zaretskii in:
https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
* config/srclist.txt: Break the glibc connection for intprops.h
temporarily, while more testing is done in Gnulib-using apps.
* lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
(INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
Support unsigned results no narrower than unsigned int.  Report
overflow correctly if some arguments are unsigned.
(_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
(_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
the right thing with narrow args.
(_GL_INT_OP_CALC1): Remove.  All callers removed.
(_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
(_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
* tests/test-intprops.c: Check for bugs and test new behavior.

5 years agoget_progname_of: New module.
Bruno Haible [Wed, 14 Aug 2019 09:21:55 +0000 (11:21 +0200)]
get_progname_of: New module.

* lib/get_progname_of.h: New file.
* lib/get_progname_of.c: New file, based on lib/getprogname.c.
* lib/getprogname.c (getprogname): Tweak coding style.
* lib/vma-iter.c (vma_iterate_bsd): Update comment.
* modules/get_progname_of: New file.

5 years agoget_ppid_of: New module.
Bruno Haible [Wed, 14 Aug 2019 09:21:37 +0000 (11:21 +0200)]
get_ppid_of: New module.

* lib/get_ppid_of.h: New file.
* lib/get_ppid_of.c: New file.
* modules/get_ppid_of: New file.

5 years agolibtextstyle-optional tests: Support the NO_COLOR environment variable.
Bruno Haible [Wed, 14 Aug 2019 00:48:59 +0000 (02:48 +0200)]
libtextstyle-optional tests: Support the NO_COLOR environment variable.

* tests/test-libtextstyle.c (main): Do not emit styling when the
environment variable NO_COLOR is set.

5 years agoverify: improve diagnostic quality in recent GCC
Paul Eggert [Mon, 12 Aug 2019 21:57:08 +0000 (14:57 -0700)]
verify: improve diagnostic quality in recent GCC

If ‘verify’ fails in a deeply-nested macro, GCC does not output a
useful line number containing the top-level caller of the macro.
So, bring back the older way of issuing a diagnostic containing
the top-level call’s arg, so that it is easier to diagnose
‘verify’ failures with recent GCC.
* lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
Bring back DIAGNOSTIC arg.  All callers changed.
(verify): Just use _GL_VERIFY.

5 years agolocalcharset: Add more aliases for OS/2.
Bruno Haible [Sun, 11 Aug 2019 16:52:28 +0000 (18:52 +0200)]
localcharset: Add more aliases for OS/2.

Based on patch by KO Myung-Hun <komh78@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.

* lib/localcharset.c (alias_table) [OS2]: Add more aliases.

5 years agoconfigmake: Update advice on usage.
Eric Blake [Sat, 10 Aug 2019 21:20:47 +0000 (16:20 -0500)]
configmake: Update advice on usage.

* modules/configmake (Include): No longer necessary to include
last, since configmake.h itself worries about collision avoidance.

5 years agoparse-datetime: fix 'T' military timezone handling
Assaf Gordon [Sat, 10 Aug 2019 19:17:49 +0000 (13:17 -0600)]
parse-datetime: fix 'T' military timezone handling

* lib/parse-datetime.y (zone):
follow-up to the previous commit: the 'T' case is handled outside the
conversion table (used as either military timezone UTC-7 or ISO8601
separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
timezone letters.

5 years agoparse-datetime: fix military timezone letters
Paul Eggert [Fri, 9 Aug 2019 20:47:41 +0000 (13:47 -0700)]
parse-datetime: fix military timezone letters

Problem and trivial fix reported by Neil Hoggarth in:
https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
* lib/parse-datetime.y (military_table):
Do it the right way, not the RFC 822 way.

5 years agoconfigmake: Avoid namespace pollution issue on mingw.
Eric Blake [Thu, 8 Aug 2019 03:03:31 +0000 (22:03 -0500)]
configmake: Avoid namespace pollution issue on mingw.

Mingw includes a header that declares an enum typedef named DATADIR,
pulled in when including <winsock2.h>; compilation fails if DATADIR
has already been defined as a macro expanding to a string prior to
that inclusion.  Although the configmake module documents that it
should generally be included only after system headers, it is just as
easy to make configmake.h robust to this particular issue by including
the system header first if it exists.

* modules/configmake (Makefile.am): If the project uses
<winsock2.h>, include that header before defining DATADIR.
Reported by libvirt: https://lists.gnu.org/archive/html/bug-gnulib/2019-07/msg00089.html

5 years agombrtowc tests: Fix regression on mingw (regression from 2018-02-24).
Bruno Haible [Mon, 29 Jul 2019 01:03:17 +0000 (03:03 +0200)]
mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).

* tests/test-mbrtowc.c (main): Fix expected value of wc.

5 years agopthread-h: Fix definitions of types and macros on mingw.
Bruno Haible [Thu, 25 Jul 2019 01:19:53 +0000 (03:19 +0200)]
pthread-h: Fix definitions of types and macros on mingw.

* lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
not in use.
(pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
'pthread-once' is not in use.
(pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
in use.
(pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
Define also when module 'pthread-rwlock' is not in use.
(pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
also when module 'pthread-cond' is not in use.
(pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
'pthread-tss' is not in use.
(pthread_spinlock_t): Define also when module 'pthread-spin' is not in
use.

5 years agoautoupdate
Karl Berry [Wed, 24 Jul 2019 14:27:58 +0000 (07:27 -0700)]
autoupdate

5 years agocrypto/gc: Cope with libgcrypt without SM3.
Simon Josefsson [Wed, 24 Jul 2019 08:01:50 +0000 (10:01 +0200)]
crypto/gc: Cope with libgcrypt without SM3.

* lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.

5 years agobackupfile: fix resource leak on memory failure
Paul Eggert [Tue, 23 Jul 2019 19:25:01 +0000 (12:25 -0700)]
backupfile: fix resource leak on memory failure

Problem found by Coverity (CID 1484214).
* lib/backupfile.c (backupfile_internal): Don’t leak dirp.

5 years agoAvoid missing-declarations warning in various tests.
Bruno Haible [Mon, 22 Jul 2019 10:32:39 +0000 (12:32 +0200)]
Avoid missing-declarations warning in various tests.

* tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
test6, test_optional, test7, test8, test9, test10, test11, test12,
test13, test14, test15, test_fun): Declare static.
* tests/test-cnd.c (test_cnd_wait): Likewise.
* tests/test-cond.c (test_cond): Likewise.

5 years agopthread tests: Avoid missing-declarations warning.
Bernhard Voelker [Mon, 22 Jul 2019 10:28:26 +0000 (12:28 +0200)]
pthread tests: Avoid missing-declarations warning.

* tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.

5 years agoparse-datetime: Avoid warnings from bison versions >= 3.3.
Bruno Haible [Fri, 19 Jul 2019 22:51:26 +0000 (00:51 +0200)]
parse-datetime: Avoid warnings from bison versions >= 3.3.

Reported by Bernhard Voelker <mail@bernhard-voelker.de>.

* modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.

5 years agoparse-datetime: Require Bison 2.4 or newer.
Bruno Haible [Fri, 19 Jul 2019 03:00:10 +0000 (05:00 +0200)]
parse-datetime: Require Bison 2.4 or newer.

* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
Code taken from gettext's intl.m4.
* modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
of YACC.

5 years agoareadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
Bruno Haible [Fri, 19 Jul 2019 03:21:11 +0000 (05:21 +0200)]
areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.

* lib/areadlink-with-size.c: Include <string.h>.
* lib/areadlinkat-with-size.c: Likewise.
* lib/xgethostname.c: Likewise.
* lib/xgetdomainname.c: Likewise.

5 years agoparse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
Bernhard Voelker [Thu, 18 Jul 2019 23:17:25 +0000 (01:17 +0200)]
parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4

* lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
"%pure-parser".  The former is available since Bison 2.3b (2008, [1]),
while the latter is marked as obsolete since version 3.4 (May 2019, [2]):

  ./lib/parse-datetime.y:568.1-12: warning: deprecated directive, \
    use '%define api.pure' [-Wdeprecated]
  568 | %pure-parser
      | ^~~~~~~~~~~~

[1] https://git.sv.gnu.org/cgit/bison.git/commit/?id=d9df47b656fd
[2] https://git.sv.gnu.org/cgit/bison.git/commit/?id=de5207244b5c

5 years agoupdate-copyright: Make it work again (regression from 2019-06-15).
Bruno Haible [Tue, 16 Jul 2019 08:02:30 +0000 (10:02 +0200)]
update-copyright: Make it work again (regression from 2019-06-15).

Reported by Brian C. Lane <bcl@redhat.com>.

* build-aux/update-copyright: Add back the -0777, -p, -i options.

5 years agodoc: Update info about <pthread.h>.
Bruno Haible [Mon, 15 Jul 2019 01:10:38 +0000 (03:10 +0200)]
doc: Update info about <pthread.h>.

* doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
of 'pthread'.

5 years agopthread_sigmask tests: Use new multithread modules.
Bruno Haible [Mon, 15 Jul 2019 00:41:24 +0000 (02:41 +0200)]
pthread_sigmask tests: Use new multithread modules.

* tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
glthread/thread.h.
(main_thread, killer_thread): Change type to pthread_t.
(main): Update accordingly.
* modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
thread.

5 years agopthread-tss: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:41:21 +0000 (02:41 +0200)]
pthread-tss: Add tests.

* tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
tests/test-tss.c.
* modules/pthread-tss-tests: New file.

5 years agopthread-cond: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:41:18 +0000 (02:41 +0200)]
pthread-cond: Add tests.

* tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
tests/test-cnd.c.
* modules/pthread-cond-tests: New file.

5 years agopthread-rwlock: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:41:14 +0000 (02:41 +0200)]
pthread-rwlock: Add tests.

* tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
* modules/pthread-rwlock-tests: New file.

5 years agopthread-mutex: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:41:12 +0000 (02:41 +0200)]
pthread-mutex: Add tests.

* tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
tests/test-mtx.c.
* modules/pthread-mutex-tests: New file.

5 years agopthread-once: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:41:09 +0000 (02:41 +0200)]
pthread-once: Add tests.

* tests/test-pthread-once1.c: New file, based on tests/test-once.c and
tests/test-call_once.c.
* tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
tests/test-mtx.c.
* modules/pthread-once-tests: New file.

5 years agopthread-thread: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:41:07 +0000 (02:41 +0200)]
pthread-thread: Add tests.

* tests/test-pthread-thread.c: New file, based on
tests/test-thread_create.c and tests/test-thrd_create.c.
* modules/pthread-thread-tests: New file.

5 years agopthread: Turn into a convenience module.
Bruno Haible [Mon, 15 Jul 2019 00:41:05 +0000 (02:41 +0200)]
pthread: Turn into a convenience module.

* lib/pthread.in.h: Remove declarations for extern inline functions.
* lib/pthread.c: Remove file.
* modules/pthread (Files): Remove it.
(Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
(configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
* m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
GNULIB_PTHREAD.
* modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.

5 years agopthread-spin: New module.
Bruno Haible [Mon, 15 Jul 2019 00:41:02 +0000 (02:41 +0200)]
pthread-spin: New module.

* lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
inline definitions.
* lib/pthread-spin.c: New file.
* m4/pthread-spin.m4: New file.
* modules/pthread-spin: New file.
* doc/posix-functions/pthread_spin_init.texi: Mention the new module.
* doc/posix-functions/pthread_spin_lock.texi: Likewise.
* doc/posix-functions/pthread_spin_trylock.texi: Likewise.
* doc/posix-functions/pthread_spin_unlock.texi: Likewise.
* doc/posix-functions/pthread_spin_destroy.texi: Likewise.

5 years agopthread-tss: New module.
Bruno Haible [Mon, 15 Jul 2019 00:41:00 +0000 (02:41 +0200)]
pthread-tss: New module.

* lib/pthread-tss.c: New file.
* m4/pthread-tss.m4: New file.
* modules/pthread-tss: New file.
* doc/posix-functions/pthread_key_create.texi: Mention the new module.
* doc/posix-functions/pthread_setspecific.texi: Likewise.
* doc/posix-functions/pthread_getspecific.texi: Likewise.
* doc/posix-functions/pthread_key_delete.texi: Likewise.

5 years agopthread-cond: New module.
Bruno Haible [Mon, 15 Jul 2019 00:40:57 +0000 (02:40 +0200)]
pthread-cond: New module.

* lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
* lib/pthread-cond.c: New file.
* m4/pthread-cond.m4: New file.
* modules/pthread-cond: New file.
* doc/posix-functions/pthread_cond_init.texi: Mention the new module.
* doc/posix-functions/pthread_condattr_init.texi: Likewise.
* doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
* doc/posix-functions/pthread_cond_wait.texi: Likewise.
* doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
* doc/posix-functions/pthread_cond_signal.texi: Likewise.
* doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
* doc/posix-functions/pthread_cond_destroy.texi: Likewise.

5 years agopthread-rwlock: New module.
Bruno Haible [Mon, 15 Jul 2019 00:37:47 +0000 (02:37 +0200)]
pthread-rwlock: New module.

* lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
* m4/pthread-rwlock.m4: New file.
* modules/pthread-rwlock: New file.
* doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
and the Android problem.
* doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
* doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
* doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
* doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.

5 years agopthread-mutex: New module.
Bruno Haible [Mon, 15 Jul 2019 00:37:44 +0000 (02:37 +0200)]
pthread-mutex: New module.

* lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
pthread_mutex_unlock): Remove inline definitions.
* lib/pthread-mutex.c: New file.
* m4/pthread-mutex.m4: New file.
* modules/pthread-mutex: New file.
* doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
* doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
* doc/posix-functions/pthread_mutex_lock.texi: Likewise.
* doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
* doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
* doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
* doc/posix-functions/pthread_mutex_destroy.texi: Likewise.

5 years agopthread-once: New module.
Bruno Haible [Mon, 15 Jul 2019 00:37:41 +0000 (02:37 +0200)]
pthread-once: New module.

* lib/pthread-once.c: New file.
* m4/pthread-once.m4: New file.
* modules/pthread-once: New file.
* doc/posix-functions/pthread_once.texi: Mention the new module.

5 years agopthread-thread: New module.
Bruno Haible [Mon, 15 Jul 2019 00:37:38 +0000 (02:37 +0200)]
pthread-thread: New module.

* lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
inline definitions.
* lib/pthread-thread.c: New file.
* m4/pthread-thread.m4: New file.
* modules/pthread-thread: New file.
* doc/posix-functions/pthread_create.texi: Mention the new module.
* doc/posix-functions/pthread_attr_init.texi: Likewise.
* doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
* doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
* doc/posix-functions/pthread_attr_destroy.texi: Likewise.
* doc/posix-functions/pthread_self.texi: Likewise.
* doc/posix-functions/pthread_equal.texi: Likewise.
* doc/posix-functions/pthread_detach.texi: Likewise.
* doc/posix-functions/pthread_join.texi: Likewise.
* doc/posix-functions/pthread_exit.texi: Likewise.

5 years agopthread-h: Prepare for adding new modules.
Bruno Haible [Mon, 15 Jul 2019 00:36:28 +0000 (02:36 +0200)]
pthread-h: Prepare for adding new modules.

* lib/pthread.in.h: Define the types and macros for each of the
facilities separately.
* m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
HAVE_PTHREAD_PROCESS_SHARED.
(gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
HAVE_PTHREAD_PROCESS_SHARED.
* modules/pthread-h (Makefile.am): Substitute
HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.

5 years agopthread-h: Add declarations of essential pthread functions.
Bruno Haible [Mon, 15 Jul 2019 00:36:24 +0000 (02:36 +0200)]
pthread-h: Add declarations of essential pthread functions.

* lib/pthread.in.h: Include snippets.
(pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
pthread_mutexattr_settype, pthread_mutexattr_getrobust,
pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
pthread_key_create, pthread_setspecific, pthread_getspecific,
pthread_key_delete, pthread_spin_init, pthread_spin_lock,
pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
declarations.
(pthread_mutex_timedlock): Move declaration.
* m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
declared.
(gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
HAVE_* and REPLACE_* variables for the new functions.
* modules/pthread-h (Depends-on): Add snippet/c++defs,
snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
(Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
variables for the new functions. Split the sed script, to avoid the
limit of 99 commands of HP-UX sed.
* tests/test-pthread-c++.cc: Check the signature of the new functions.

5 years agopthread-h: Respect --enable-threads={posix|windows} option on mingw.
Bruno Haible [Mon, 15 Jul 2019 00:36:21 +0000 (02:36 +0200)]
pthread-h: Respect --enable-threads={posix|windows} option on mingw.

* m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
HAVE_PTHREAD_H if gl_threads_api is 'windows'.
(LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
* modules/pthread (Link): Change to $(LIBMULTITHREAD).
* modules/pthread-h (Depends-on): Add threadlib.
(Link): Change to $(LIBTHREAD).
* modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
$(LIBMULTITHREAD) instead of $(LIB_PTHREAD).

5 years agopthread-h: Add C++ tests.
Bruno Haible [Mon, 15 Jul 2019 00:36:19 +0000 (02:36 +0200)]
pthread-h: Add C++ tests.

* tests/test-pthread-c++.cc: New file.
* modules/pthread-h-c++-tests: New file.

5 years agopthread-h: Add tests.
Bruno Haible [Mon, 15 Jul 2019 00:36:16 +0000 (02:36 +0200)]
pthread-h: Add tests.

* tests/test-pthread.c: New file.
* modules/pthread-h-tests: New file.

5 years agopthread-h: New module.
Bruno Haible [Mon, 15 Jul 2019 00:36:13 +0000 (02:36 +0200)]
pthread-h: New module.

* lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
is 1.
* m4/pthread_h.m4: Renamed from m4/pthread.m4.
(gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
<pthread.h> pollutes the namespace; instead, prepare for generating a
pthread.h always. Substitute HAVE_PTHREAD_H here.
(gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
* modules/pthread-h: New file, based on modules/pthread.
* modules/pthread: Rely on 'pthread-h'.
* m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
Update.
* modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
pthread.

5 years agosched_yield: New module.
Bruno Haible [Mon, 15 Jul 2019 00:36:10 +0000 (02:36 +0200)]
sched_yield: New module.

* lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
(sched_yield): New declaration.
* lib/sched_yield.c: New file.
* m4/sched_yield.m4: New file.
* m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
provide a replacement sched.h always. Test whether sched_yield is
declared.
(gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
* modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
(Makefile.am): Provide a replacement sched.h always. Substitute
GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
_GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
* modules/sched_yield: New file.
* doc/posix-functions/sched_yield.texi: Mention the new module.

5 years agowindows-spin: New module.
Bruno Haible [Mon, 15 Jul 2019 00:36:08 +0000 (02:36 +0200)]
windows-spin: New module.

* lib/windows-spin.h: New file.
* lib/windows-spin.c: New file.
* modules/windows-spin: New file.

5 years agowindows-timedrwlock: New module.
Bruno Haible [Mon, 15 Jul 2019 00:36:05 +0000 (02:36 +0200)]
windows-timedrwlock: New module.

* lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
* lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
windows-cond.c.
* lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
redefinition conflict with windows-timedrwlock.h.
* modules/windows-timedrwlock: New file.

5 years agowindows-rwlock: New module.
Bruno Haible [Mon, 15 Jul 2019 00:36:02 +0000 (02:36 +0200)]
windows-rwlock: New module.

* lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
* lib/glthread/lock.h: Include windows-rwlock.h. Don't include
windows-initguard.h.
(gl_rwlock_t): Define using glwthread_rwlock_t.
(gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
(glthread_rwlock_init): Define using glwthread_rwlock_init.
(glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
(glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
(glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
(glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
(glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
glthread_rwlock_destroy_func): Remove declarations.
* lib/glthread/lock.c (gl_waitqueue_t): Remove type.
(gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
gl_waitqueue_notify_all, glthread_rwlock_init_func,
glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
functions.
* modules/windows-rwlock: New file.
* modules/lock (Depends-on): Add windows-rwlock.

5 years agowindows-thread: Add support for creating a thread in detached state.
Bruno Haible [Mon, 15 Jul 2019 00:35:58 +0000 (02:35 +0200)]
windows-thread: Add support for creating a thread in detached state.

* lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
(glwthread_thread_create): Add attr argument.
* lib/windows-thread.c (glwthread_thread_create): Likewise.
* lib/glthread/thread.h (glthread_create): Update.
* lib/thrd.c (thrd_create): Update.

5 years agowindows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
Bruno Haible [Mon, 15 Jul 2019 00:35:56 +0000 (02:35 +0200)]
windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.

* lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
(glwthread_initguard_t): Renamed from glwthread_spinlock_t.
(GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
* lib/windows-mutex.h: Update.
* lib/windows-recmutex.h: Likewise.
* lib/windows-timedmutex.h: Likewise.
* lib/windows-timedrecmutex.h: Likewise.
* lib/windows-cond.h: Likewise.
* lib/glthread/lock.h: Likewise.
* modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
lib/windows-spinlock.h.
* modules/windows-recmutex (Files): Likewise.
* modules/windows-timedmutex (Files): Likewise.
* modules/windows-timedrecmutex (Files): Likewise.
* modules/windows-cond (Files): Likewise.
* modules/threads-h (Files): Likewise.

5 years agodoc: Fix info about pthread API in HP-UX.
Bruno Haible [Mon, 15 Jul 2019 00:35:53 +0000 (02:35 +0200)]
doc: Fix info about pthread API in HP-UX.

* doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.

5 years agoFix typo in comment.
Bruno Haible [Mon, 15 Jul 2019 00:35:50 +0000 (02:35 +0200)]
Fix typo in comment.

* tests/test-cnd.c (EXPLICIT_YIELD): Fix typo in comment.
* tests/test-tss.c (EXPLICIT_YIELD): Likewise.
* tests/test-thread_local.c (EXPLICIT_YIELD): Likewise.

5 years agothreads-h: Fix generation of threads.h.
Bruno Haible [Mon, 15 Jul 2019 00:35:46 +0000 (02:35 +0200)]
threads-h: Fix generation of threads.h.

* modules/threads-h (Makefile.am): Insert the required header file
snippets.

5 years agostriconveh test: Fix a compilation failure when iconv is not available.
Bruno Haible [Tue, 9 Jul 2019 06:45:16 +0000 (08:45 +0200)]
striconveh test: Fix a compilation failure when iconv is not available.

Reported by Tom G. Christensen <tgc@jupiterrise.com>.

* tests/test-striconveh.c (main): Move iconv_close invocations inside
HAVE_ICONV.

5 years agoargmatch: adjust columns for help2man.
Akim Demaille [Sun, 7 Jul 2019 10:12:25 +0000 (12:12 +0200)]
argmatch: adjust columns for help2man.

* lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
requires column 20 or more, return 20.

5 years agoareadlink-with-size: avoid realloc when size==0
Paul Eggert [Sun, 7 Jul 2019 02:25:24 +0000 (19:25 -0700)]
areadlink-with-size: avoid realloc when size==0

* lib/areadlink-with-size.c (areadlink_with_size):
* lib/areadlinkat-with-size.c (areadlinkat_with_size):
Reallocate at the end to the actual size, to avoid memory waste,
as suggested by Bruno Haible.  But when the guessed size is zero -
useful when the size is unknown - do the initial small readlink
into the stack, to avoid that realloc in the usual case.

5 years agoareadlink-with-size: guess a buffer size with 0 size
Pádraig Brady [Sat, 6 Jul 2019 18:43:11 +0000 (19:43 +0100)]
areadlink-with-size: guess a buffer size with 0 size

The size is usually taken from st_size, which can be zero,
resulting in inefficient operation as seen with:

  $ strace -e readlink stat -c %N /proc/$$/cwd
  readlink("/proc/9036/cwd", "/", 1)      = 1
  readlink("/proc/9036/cwd", "/h", 2)     = 2
  readlink("/proc/9036/cwd", "/hom", 4)   = 4
  readlink("/proc/9036/cwd", "/home/pa", 8) = 8
  readlink("/proc/9036/cwd", "/home/padraig", 16) = 13

Instead let zero select an initial memory allocation
of 128 bytes, which most symlinks fit within.

* lib/areadlink-with-size.c (areadlink_with_size):
Start with a 128 byte buffer, for SIZE == 0.
* lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.

5 years agoReplace manually crafted hex regexes with [:xdigit:]
Konstantin Kharlamov [Sat, 6 Jul 2019 14:59:49 +0000 (07:59 -0700)]
Replace manually crafted hex regexes with [:xdigit:]

* build-aux/gitlog-to-changelog (parse_amend_file)
(git_dir_option):
Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
This patch is backported from Emacs (Bug#36167).

5 years agoerror: Fix documentation.
Bruno Haible [Sat, 6 Jul 2019 12:16:10 +0000 (14:16 +0200)]
error: Fix documentation.

* doc/glibc-functions/error_at_line.texi: Document what the 'error'
module provides.
* doc/glibc-functions/error_message_count.texi: Likewise.
* doc/glibc-functions/error_one_per_line.texi: Likewise.
* doc/glibc-functions/error_print_progname.texi: Likewise.

5 years agoautoupdate
Karl Berry [Sat, 6 Jul 2019 14:11:43 +0000 (07:11 -0700)]
autoupdate

5 years agodoc: Remove documentation of glibc <= 2.1.x as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 12:02:27 +0000 (14:02 +0200)]
doc: Remove documentation of glibc <= 2.1.x as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
and older is unsupported.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Linux libc5 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 11:54:23 +0000 (13:54 +0200)]
doc: Remove documentation of Linux libc5 as a supported platform.

5 years agodoc: Remove documentation of Linux libc5 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 11:45:38 +0000 (13:45 +0200)]
doc: Remove documentation of Linux libc5 as a supported platform.

* doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
to Linux libc5.
* doc/posix-functions/iswalpha.texi: Likewise.
* doc/posix-functions/iswblank.texi: Likewise.
* doc/posix-functions/iswcntrl.texi: Likewise.
* doc/posix-functions/iswdigit.texi: Likewise.
* doc/posix-functions/iswgraph.texi: Likewise.
* doc/posix-functions/iswlower.texi: Likewise.
* doc/posix-functions/iswprint.texi: Likewise.
* doc/posix-functions/iswpunct.texi: Likewise.
* doc/posix-functions/iswspace.texi: Likewise.
* doc/posix-functions/iswupper.texi: Likewise.
* doc/posix-functions/iswxdigit.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.

5 years agodoc: Remove documentation of Tandem/NSK as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 11:41:06 +0000 (13:41 +0200)]
doc: Remove documentation of Tandem/NSK as a supported platform.

* doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
Tandem/NSK.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 11:36:42 +0000 (13:36 +0200)]
doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
and older is unsupported.
* doc/posix-functions/acosl.texi: Don't mention workarounds specific to
Mac OS X 10.4 and older.
* doc/posix-functions/asinl.texi: Likewise.
* doc/posix-functions/atanl.texi: Likewise.
* doc/posix-functions/cosl.texi: Likewise.
* doc/posix-functions/expl.texi: Likewise.
* doc/posix-functions/frexpl.texi: Likewise.
* doc/posix-functions/gettimeofday.texi: Likewise.
* doc/posix-functions/logl.texi: Likewise.
* doc/posix-functions/mkstemp.texi: Likewise.
* doc/posix-functions/sinl.texi: Likewise.
* doc/posix-functions/sqrtl.texi: Likewise.
* doc/posix-functions/tanl.texi: Likewise.
* doc/posix-functions/wcswidth.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of AIX 4 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 11:08:43 +0000 (13:08 +0200)]
doc: Remove documentation of AIX 4 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
unsupported.
* doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
workarounds.
* doc/posix-functions/strnlen.texi: Likewise.
* doc/posix-headers/inttypes.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of HP-UX 10 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 10:58:08 +0000 (12:58 +0200)]
doc: Remove documentation of HP-UX 10 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
unsupported.
* doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
workarounds.
* doc/posix-functions/gmtime_r.texi: Likewise.
* doc/posix-functions/localtime_r.texi: Likewise.
* doc/posix-functions/mkstemp.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Interix 3.5 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 10:46:09 +0000 (12:46 +0200)]
doc: Remove documentation of Interix 3.5 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
unsupported.
* doc/posix-functions/select.texi: Don't mention Interix specific
workarounds.
* doc/posix-headers/signal.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of IRIX 6.4 and older as supported platforms.
Bruno Haible [Sat, 6 Jul 2019 10:35:49 +0000 (12:35 +0200)]
doc: Remove documentation of IRIX 6.4 and older as supported platforms.

* doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
unsupported.
* doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
workarounds.
* doc/posix-functions/nl_langinfo.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/towlower.texi: Likewise.
* doc/posix-functions/towupper.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/wcscat.texi: Likewise.
* doc/posix-functions/wcschr.texi: Likewise.
* doc/posix-functions/wcscmp.texi: Likewise.
* doc/posix-functions/wcscpy.texi: Likewise.
* doc/posix-functions/wcscspn.texi: Likewise.
* doc/posix-functions/wcslen.texi: Likewise.
* doc/posix-functions/wcsncat.texi: Likewise.
* doc/posix-functions/wcsncmp.texi: Likewise.
* doc/posix-functions/wcsncpy.texi: Likewise.
* doc/posix-functions/wcspbrk.texi: Likewise.
* doc/posix-functions/wcsrchr.texi: Likewise.
* doc/posix-functions/wcsspn.texi: Likewise.
* doc/posix-headers/langinfo.texi: Likewise.
* doc/posix-headers/signal.texi: Likewise.
* doc/posix-headers/wchar.texi: Likewise.
* doc/posix-headers/wctype.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of OSF/1 as supported platform.
Bruno Haible [Sat, 6 Jul 2019 05:03:06 +0000 (07:03 +0200)]
doc: Remove documentation of OSF/1 as supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
unsupported.
* doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
workarounds.
* doc/glibc-functions/pthread_setname_np.texi: Likewise.
* doc/glibc-functions/ptsname_r.texi: Likewise.
* doc/posix-functions/ceil.texi: Likewise.
* doc/posix-functions/ceilf.texi: Likewise.
* doc/posix-functions/ceill.texi: Likewise.
* doc/posix-functions/fchdir.texi: Likewise.
* doc/posix-functions/floor.texi: Likewise.
* doc/posix-functions/floorf.texi: Likewise.
* doc/posix-functions/fmod.texi: Likewise.
* doc/posix-functions/fmodf.texi: Likewise.
* doc/posix-functions/fmodl.texi: Likewise.
* doc/posix-functions/log.texi: Likewise.
* doc/posix-functions/logf.texi: Likewise.
* doc/posix-functions/logl.texi: Likewise.
* doc/posix-functions/log10.texi: Likewise.
* doc/posix-functions/log10f.texi: Likewise.
* doc/posix-functions/log10l.texi: Likewise.
* doc/posix-functions/log2.texi: Likewise.
* doc/posix-functions/log2f.texi: Likewise.
* doc/posix-functions/log2l.texi: Likewise.
* doc/posix-functions/mbrtowc.texi: Likewise.
* doc/posix-functions/recv.texi: Likewise.
* doc/posix-functions/recvfrom.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/remainderf.texi: Likewise.
* doc/posix-functions/remainderl.texi: Likewise.
* doc/posix-functions/round.texi: Likewise.
* doc/posix-functions/roundf.texi: Likewise.
* doc/posix-functions/roundl.texi: Likewise.
* doc/posix-functions/send.texi: Likewise.
* doc/posix-functions/sendto.texi: Likewise.
* doc/posix-functions/setenv.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/tcgetsid.texi: Likewise.
* doc/posix-functions/trunc.texi: Likewise.
* doc/posix-functions/truncf.texi: Likewise.
* doc/posix-functions/truncl.texi: Likewise.
* doc/posix-functions/ttyname_r.texi: Likewise.
* doc/posix-functions/unsetenv.texi: Likewise.
* doc/posix-functions/wcsrtombs.texi: Likewise.
* doc/posix-headers/sys_select.texi: Likewise.
* doc/posix-headers/wchar.texi: Likewise.
* doc/posix-headers/wctype.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Interix as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 04:54:32 +0000 (06:54 +0200)]
doc: Remove documentation of Interix as a supported platform.

5 years agodoc: Remove documentation of BSDI and BSD/OS as supported platforms.
Bruno Haible [Sat, 6 Jul 2019 03:16:14 +0000 (05:16 +0200)]
doc: Remove documentation of BSDI and BSD/OS as supported platforms.

* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Solaris 8 and older as supported platforms.
Bruno Haible [Sat, 6 Jul 2019 03:10:53 +0000 (05:10 +0200)]
doc: Remove documentation of Solaris 8 and older as supported platforms.

* doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
unsupported.
* doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
workarounds.
* doc/posix-functions/memcmp.texi: Likewise.
* doc/posix-functions/rename.texi: Likewise.
* doc/posix-functions/tzset.texi: Likewise.
* doc/posix-headers/wctype.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Interix 3.5 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 02:41:05 +0000 (04:41 +0200)]
doc: Remove documentation of Interix 3.5 as a supported platform.

* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of BeOS as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 02:35:31 +0000 (04:35 +0200)]
doc: Remove documentation of BeOS as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
unsupported.
* doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
* doc/posix-functions/getdelim.texi: Likewise.
* doc/**/*.texi: Update.

5 years agothread, lock, cond, tls: Remove support for Pth threads.
Bruno Haible [Sat, 6 Jul 2019 01:56:55 +0000 (03:56 +0200)]
thread, lock, cond, tls: Remove support for Pth threads.

* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
--enable-threads=pth any more.
(gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
* m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
threads and ISO C11 threads.
* lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
* lib/glthread/lock.h: Likewise.
* lib/glthread/lock.c: Likewise.
* lib/glthread/cond.h: Likewise.
* lib/glthread/cond.c: Likewise.
* lib/glthread/tls.h: Likewise.
* lib/glthread/tls.c: Likewise.
* lib/glthread/yield.h: Likewise.
* lib/regex_internal.h: Likewise.
* tests/test-thread_create.c: Likewise.
* tests/test-lock.c: Likewise.
* tests/test-cond.c: Likewise.
* tests/test-tls.c: Likewise.
* tests/test-rwlock1.c: Don't include glthread/yield.h.
(main): Sleep without calling gl_thread_yield.

5 years agothread, lock, cond, tls: Remove support for old Solaris threads.
Bruno Haible [Sat, 6 Jul 2019 01:36:45 +0000 (03:36 +0200)]
thread, lock, cond, tls: Remove support for old Solaris threads.

Solaris >= 2.5.1 has POSIX threads.

* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
--enable-threads=solaris any more.
(gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
* lib/glthread/thread.c: Update comment.
* lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
* lib/glthread/lock.h: Likewise.
* lib/glthread/lock.c: Likewise.
* lib/glthread/cond.h: Likewise.
* lib/glthread/cond.c: Likewise.
* lib/glthread/tls.h: Likewise.
* lib/glthread/tls.c: Likewise.
* lib/glthread/yield.h: Likewise.
* lib/regex_internal.h: Likewise.
* tests/test-thread_create.c: Likewise.
* tests/test-lock.c: Likewise.
* tests/test-cond.c: Likewise.
* tests/test-tls.c: Likewise.

5 years agogetcwd-lgpl, getcwd: Don't call realloc when it is pointless.
Bruno Haible [Fri, 5 Jul 2019 22:47:12 +0000 (00:47 +0200)]
getcwd-lgpl, getcwd: Don't call realloc when it is pointless.

* lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
needed size is equal to the allocated size.
* lib/getcwd.c (__getcwd): Likewise.

5 years agoxgetdomainname: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:43:59 +0000 (00:43 +0200)]
xgetdomainname: Don't return an excessive memory allocation.

* lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
before returning it.

5 years agoxgethostname: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:43:01 +0000 (00:43 +0200)]
xgethostname: Don't return an excessive memory allocation.

* lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
returning it.

5 years agoareadlinkat-with-size: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:40:34 +0000 (00:40 +0200)]
areadlinkat-with-size: Don't return an excessive memory allocation.

* lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
before returning it.

5 years agoareadlink-with-size: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:39:07 +0000 (00:39 +0200)]
areadlink-with-size: Don't return an excessive memory allocation.

Reported by Andreas Dilger <adilger@whamcloud.com>.

* lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
before returning it.

5 years agorenameatu: Fix test failure on MSVC.
Bruno Haible [Wed, 3 Jul 2019 00:49:27 +0000 (02:49 +0200)]
renameatu: Fix test failure on MSVC.

* lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
empty string.