]> Savannah Git Hosting - gnulib.git/log
gnulib.git
5 years agothrd: New module.
Bruno Haible [Thu, 20 Jun 2019 02:26:31 +0000 (04:26 +0200)]
thrd: New module.

* lib/thrd.c: New file.
* m4/thrd.m4: New file.
* modules/thrd: New file.
* doc/posix-functions/thrd_current.texi: Mention the new module.
* doc/posix-functions/thrd_detach.texi: Likewise.
* doc/posix-functions/thrd_equal.texi: Likewise.
* doc/posix-functions/thrd_exit.texi: Likewise.
* doc/posix-functions/thrd_sleep.texi: Likewise.
* doc/posix-functions/thrd_yield.texi: Likewise.
* doc/posix-functions/thrd_create.texi: Mention the new module and the
AIX bug.
* doc/posix-functions/thrd_join.texi: Mention the new module and the
AIX and Solaris bugs.

5 years agothreads-h: Add tests.
Bruno Haible [Thu, 20 Jun 2019 02:25:58 +0000 (04:25 +0200)]
threads-h: Add tests.

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

5 years agothreads-h: New module.
Bruno Haible [Thu, 20 Jun 2019 02:17:30 +0000 (04:17 +0200)]
threads-h: New module.

* lib/threads.in.h: New file.
* m4/threads.m4: New file.
* m4/yield.m4 (gl_YIELD): Update comment.
* modules/threads-h: New file.
* modules/yields (configure.ac): Use AC_REQUIRE.
* doc/posix-headers/threads.texi: Mention the new module and the AIX
bugs.

5 years agowindows-thread: New module.
Bruno Haible [Thu, 20 Jun 2019 02:16:20 +0000 (04:16 +0200)]
windows-thread: New module.

* lib/windows-thread.h: New file, based on lib/glthread/thread.h.
* lib/windows-thread.c: New file, based on lib/glthread/thread.c.
* lib/glthread/thread.h: Include windows-thread.h.
(gl_thread_t): Define using glwthread_thread_t.
(glthread_create): Define using glwthread_thread_create.
(glthread_join): Define using glwthread_thread_join.
(gl_thread_self): Define using glwthread_thread_self.
(gl_thread_exit): Define using glwthread_thread_exit.
(glthread_create_func, glthread_join_func, gl_thread_self_func,
gl_thread_exit_func): Remove declarations.
* lib/glthread/thread.c (self_key): Remove variable.
(do_init_self_key, init_self_key): Remove functions.
(struct gl_thread_struct): Remove type.
(get_current_thread_handle, gl_thread_self_func, wrapper_func,
glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
functions.
* modules/windows-thread: New file.
* modules/thread (Depends-on): Add windows-thread.

5 years agowindows-tls: New module.
Bruno Haible [Thu, 20 Jun 2019 02:15:30 +0000 (04:15 +0200)]
windows-tls: New module.

* lib/windows-tls.h: New file, based on lib/glthread/tls.h.
* lib/windows-tls.c: New file, based on lib/glthread/tls.h.
* lib/glthread/tls.h: Include windows-tls.h.
(gl_tls_key_t): Define using glwthread_tls_key_t.
* modules/windows-tls: New file.
* modules/tls (Depends-on): Add windows-tls.

5 years agowindows-cond: New module.
Bruno Haible [Thu, 20 Jun 2019 02:13:43 +0000 (04:13 +0200)]
windows-cond: New module.

* lib/windows-cond.h: New file, based on lib/glthread/cond.h.
* lib/windows-cond.c: New file, based on lib/glthread/cond.c.
* lib/glthread/cond.h: Include windows-cond.h.
(struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
(gl_cond_t): Define using glwthread_cond_t.
(gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
(glthread_cond_init): Define using glwthread_cond_init.
(glthread_cond_wait): Define using glwthread_cond_wait.
(glthread_cond_timedwait): Define using glwthread_cond_timedwait.
(glthread_cond_signal): Define using glwthread_cond_signal.
(glthread_cond_broadcast): Define using glwthread_cond_broadcast.
(glthread_cond_destroy): Define using glwthread_cond_destroy.
(glthread_cond_init_func, glthread_cond_wait_func,
glthread_cond_timedwait_func, glthread_cond_signal_func,
glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
declarations.
* lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
types.
(gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
gl_waitqueue_notify_first, gl_waitqueue_notify_all,
glthread_cond_init_func, glthread_cond_wait_func,
glthread_cond_timedwait_func, glthread_cond_signal_func,
glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
functions.
* modules/windows-cond: New file.
* modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.

5 years agowindows-timedrecmutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:12:41 +0000 (04:12 +0200)]
windows-timedrecmutex: New module.

* lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
* lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
* modules/windows-timedrecmutex: New file.

5 years agowindows-timedmutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:11:57 +0000 (04:11 +0200)]
windows-timedmutex: New module.

* lib/windows-timedmutex.h: New file, based on windows-mutex.h.
* lib/windows-timedmutex.c: New file, based on windows-mutex.c.
* modules/windows-timedmutex: New file.

5 years agowindows-recmutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:10:39 +0000 (04:10 +0200)]
windows-recmutex: New module.

* lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
* lib/glthread/lock.h: Include windows-recmutex.h.
(gl_recursive_lock_t): Define using glwthread_recmutex_t.
(gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
(glthread_recursive_lock_init): Define using glwthread_recmutex_init.
(glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
(glthread_recursive_lock_unlock): Define using
glwthread_recmutex_unlock.
(glthread_recursive_lock_destroy): Define using
glwthread_recmutex_destroy.
(glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
glthread_recursive_lock_unlock_func,
glthread_recursive_lock_destroy_func): Remove declarations.
* lib/glthread/lock.c (glthread_recursive_lock_init_func,
glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
glthread_recursive_lock_destroy_func): Remove functions.
* modules/windows-recmutex: New file.
* modules/lock (Depends-on): Add windows-recmutex.

5 years agowindows-mutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:08:16 +0000 (04:08 +0200)]
windows-mutex: New module.

* lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
* lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
* lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
(gl_spinlock_t): Remove type.
(gl_lock_t): Define using glwthread_mutex_t.
(gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
(glthread_lock_init): Define using glwthread_mutex_init.
(glthread_lock_lock): Define using glwthread_mutex_lock.
(glthread_lock_unlock): Define using glwthread_mutex_unlock.
(glthread_lock_destroy): Define using glwthread_mutex_destroy.
(glthread_lock_init_func, glthread_lock_lock_func,
glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
declarations.
Use glwthread_spinlock_t instead of gl_spinlock_t.
(gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
GLWTHREAD_SPINLOCK_INIT.
* lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
functions.
* lib/glthread/cond.h: Use glwthread_spinlock_t instead of
gl_spinlock_t.
* modules/windows-mutex: New file.
* modules/lock (Depends-on): Add windows-mutex.

5 years agowindows-once: New module.
Bruno Haible [Thu, 20 Jun 2019 02:04:45 +0000 (04:04 +0200)]
windows-once: New module.

* lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
* lib/glthread/lock.h: Include windows-once.h.
(gl_once_t): Define using glwthread_once_t.
(gl_once_define): Define using GLWTHREAD_ONCE_INIT.
(glthread_once): Define using glwthread_once.
(glthread_once_func): Remove declaration.
* lib/glthread/lock.c (glthread_once_func): Remove function.
* modules/windows-once: New file.
* modules/lock (Depends-on): Add windows-once.

5 years agolock, cond: Avoid possible counter wraparound on Windows.
Bruno Haible [Thu, 20 Jun 2019 02:04:08 +0000 (04:04 +0200)]
lock, cond: Avoid possible counter wraparound on Windows.

* lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
field of the guard unchanged if it was already positive.
(glthread_rwlock_rdlock_func): Likewise.
(glthread_rwlock_wrlock_func): Likewise.
(glthread_recursive_lock_lock_func): Likewise.
* lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
(glthread_cond_timedwait_func): Likewise.

5 years agocond: Make glthread_cond_timedwait more reliable on Windows.
Bruno Haible [Thu, 20 Jun 2019 02:03:37 +0000 (04:03 +0200)]
cond: Make glthread_cond_timedwait more reliable on Windows.

* lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
condition variable before looking at the current time.

5 years agopthread_mutex_timedlock: New module.
Bruno Haible [Thu, 20 Jun 2019 02:02:52 +0000 (04:02 +0200)]
pthread_mutex_timedlock: New module.

* lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
new declaration.
* lib/pthread_mutex_timedlock.c: New file.
* m4/pthread_mutex_timedlock.m4: New file.
* m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
whether pthread_mutex_timedlock is declared.
(gl_PTHREAD_MODULE_INDICATOR): New macro.
(gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
HAVE_PTHREAD_MUTEX_TIMEDLOCK.
* modules/pthread (configure.ac): Call AC_LIBOBJ here.
(Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
HAVE_PTHREAD_MUTEX_TIMEDLOCK.
* modules/pthread_mutex_timedlock: New file.
* doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
module.

5 years agothread, lock, cond, tls: Recognize C11 multithreaded applications.
Bruno Haible [Thu, 20 Jun 2019 01:54:56 +0000 (03:54 +0200)]
thread, lock, cond, tls: Recognize C11 multithreaded applications.

* m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
* lib/glthread/thread.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.
* lib/glthread/lock.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.
* lib/glthread/cond.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.
* lib/glthread/tls.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.

5 years agotls tests: Small improvements.
Bruno Haible [Thu, 20 Jun 2019 01:53:51 +0000 (03:53 +0200)]
tls tests: Small improvements.

* tests/test-tls.c: Include <stdint.h>.
(worker_thread): Avoid gcc warning on 64-bit mingw.
(test_tls): Pass a different id to each thread.
* modules/tls-tests (Depends-on): Add stdint.

5 years agocond tests: Simplify.
Bruno Haible [Thu, 20 Jun 2019 01:52:28 +0000 (03:52 +0200)]
cond tests: Simplify.

* tests/test-cond.c (test_timedcond): Remove redundant assignment.

5 years agolock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
Bruno Haible [Thu, 20 Jun 2019 01:50:52 +0000 (03:50 +0200)]
lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.

* tests/test-lock.c (test_once): Don't reference fire_signal if
!ENABLE_LOCKING.

5 years agonanosleep: Relicense under LGPLv2+.
Bruno Haible [Wed, 19 Jun 2019 16:05:07 +0000 (18:05 +0200)]
nanosleep: Relicense under LGPLv2+.

Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.

* modules/nanosleep (License): Change to LGPLv2+.

5 years agoReorder pieces of header in perl scripts.
Bruno Haible [Wed, 19 Jun 2019 10:06:23 +0000 (12:06 +0200)]
Reorder pieces of header in perl scripts.

The desired order is
- Prologue part 1 (2 lines with #!)
- Program short description
- Copyright and license notice
- Written-by notice
- Program short description (optional)
- Program long description (optional)
- Prologue part 2
- Time stamp
- Code

Reported by Paul Eggert.

* build-aux/announce-gen: Reorder header.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/useless-if-before-free: Likewise.
* build-aux/prefix-gnulib-mk: Add copyright notice and short
description.
* build-aux/update-copyright: Likewise. Add short description. Bump
time-stamp-line-limit to 200.

5 years agoverify-tests: work around xlc bug
Paul Eggert [Wed, 19 Jun 2019 00:41:46 +0000 (17:41 -0700)]
verify-tests: work around xlc bug

Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
* tests/test-verify.c (item): Move the arithmetic inside the
verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.

5 years agoRestore Emacs time-stamp hook applicability.
Bruno Haible [Sun, 16 Jun 2019 12:54:43 +0000 (14:54 +0200)]
Restore Emacs time-stamp hook applicability.

Reported by Darshit Shah <darnir@gnu.org>.

* build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
* build-aux/announce-gen: Likewise.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.

5 years agoFix comments in last commit.
Bruno Haible [Sat, 15 Jun 2019 20:03:09 +0000 (22:03 +0200)]
Fix comments in last commit.

Reported by Paul Eggert.

* build-aux/useless-if-before-free: Fix comment regarding the second line.
* build-aux/announce-gen: Likewise.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.
* tests/test-update-copyright.sh: Update test program accordingly.

5 years agoFix scripts to have valid executable format on Alpine Linux.
Bruno Haible [Sat, 15 Jun 2019 11:03:58 +0000 (13:03 +0200)]
Fix scripts to have valid executable format on Alpine Linux.

Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
Idea by Paul Eggert.

* build-aux/useless-if-before-free: Use a prologue that starts with
'#!/bin/sh'.
* build-aux/announce-gen: Likewise.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.
* tests/test-update-copyright.sh: Update test program accordingly.

5 years agoautoupdate
Karl Berry [Tue, 11 Jun 2019 14:09:46 +0000 (07:09 -0700)]
autoupdate

5 years agonproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
Bruno Haible [Mon, 10 Jun 2019 20:11:11 +0000 (22:11 +0200)]
nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.

Reported by Nikita Ermakov <arei@altlinux.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.

* lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.

5 years agoposix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
Bruno Haible [Mon, 10 Jun 2019 14:51:51 +0000 (16:51 +0200)]
posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.

* lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
* lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
a copy of the path argument.
* lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
it.

5 years agoposix_spawn_file_actions_addopen: Fix possible use-after-free bug.
Bruno Haible [Mon, 10 Jun 2019 14:50:04 +0000 (16:50 +0200)]
posix_spawn_file_actions_addopen: Fix possible use-after-free bug.

Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.

* lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
* lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
a copy of the path argument.
* lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
it.

5 years agoposix_spawn_file_actions_addfchdir: Add tests.
Bruno Haible [Mon, 10 Jun 2019 14:17:35 +0000 (16:17 +0200)]
posix_spawn_file_actions_addfchdir: Add tests.

* tests/test-posix_spawn_file_actions_addfchdir.c: New file.
* tests/test-posix_spawn5.c: New file.
* modules/posix_spawn_file_actions_addfchdir-tests: New file.

5 years agoposix_spawn_file_actions_addfchdir: New module.
Bruno Haible [Mon, 10 Jun 2019 14:16:16 +0000 (16:16 +0200)]
posix_spawn_file_actions_addfchdir: New module.

* lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
* lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
union member 'fchdir_action'.
* lib/spawn_faction_addfchdir.c: New file.
* lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
* m4/posix_spawn_faction_addfchdir.m4: New file.
* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
'posix_spawn_file_actions_addfchdir' is present and whether
posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
* m4/spawn_h.m4 (gl_SPAWN_H): Test whether
posix_spawn_file_actions_addfchdir is declared.
(gl_SPAWN_H_DEFAULTS): Initialize
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
* modules/spawn (Makefile.am): Substitute
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
* modules/posix_spawn_file_actions_addfchdir: New file.
* tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
signature.
* doc/posix-functions/posix_spawn.texi: Mention the new module.
* doc/posix-functions/posix_spawnp.texi: Likewise.
* doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
Likewise.

5 years agodoc: Document existence of posix_spawn_file_actions_addchdir module.
Bruno Haible [Mon, 10 Jun 2019 14:26:03 +0000 (16:26 +0200)]
doc: Document existence of posix_spawn_file_actions_addchdir module.

* doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
the posix_spawn_file_actions_addchdir module.

5 years agoposix_spawn-internal: Fix module description.
Bruno Haible [Mon, 10 Jun 2019 14:03:35 +0000 (16:03 +0200)]
posix_spawn-internal: Fix module description.

* modules/posix_spawn (configure.ac): Move request to compile spawni.c
from here...
* modules/posix_spawnp (configure.ac): ... and here...
* modules/posix_spawn-internal (configure.ac): ... to here.

5 years agodoc: Update and improve documentation of glibc functions.
Bruno Haible [Mon, 10 Jun 2019 12:15:41 +0000 (14:15 +0200)]
doc: Update and improve documentation of glibc functions.

This is a series of commits that
- updates the documentation to the state of glibc 2.29,
- adds references to Linux man pages and glibc documentation,
- marks Linux specific functions as such.

These are the commits:
doc: Update after removal of crypt functions from glibc 2.28.
doc: Remove mention of function vm86 (does not exist on x86_64).
doc: Remove mention of functions that are gone from glibc.
doc: Mention that glibc no longer provides h_errno.
doc: Mention the availability of specific functions in glibc versions.
doc: Mention eaccess.
doc: Add references to Linux man pages.
doc: Add references to glibc documentation.
doc: Mention inotify_* functions.
doc: Mention ppoll.
doc: Mention sched_getcpu.
doc: Mention sync_file_range.
doc: Mention epoll_pwait.
doc: Mention eventfd, eventfd_read, eventfd_write.
doc: Mention signalfd.
doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
doc: Mention epoll_create1.
doc: Mention getauxval.
doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
doc: Mention nextdown, nextup.
doc: Mention more ISO TS 18661-1 <math.h> functions.
doc: Mention ISO TS 18661-1 <fenv.h> functions.
doc: Mention getrandom, getentropy.
doc: Mention strfromf, strfromd, strfroml.
doc: Mention preadv2, pwritev2.
doc: Mention copy_file_range.
doc: Mention memfd_create.
doc: Mention mlock2.
doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
doc: Mention more ISO TS 18661-1 <math.h> functions.
doc: Mention renameat2.
doc: Mention statx.
doc: Mention the ISO C11 multithreading header and functions.
doc: Mention getcpu.
doc: Mention posix_spawn_file_actions_add[f]chdir_np.
doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
doc: Some glibc functions also exist on FreeBSD, Solaris 11.
doc: Some glibc functions also exist on Solaris 11.
doc: Some glibc functions also exist on Solaris 11.4.
doc: Some glibc functions also exist on FreeBSD.
doc: Some glibc functions also exist on BeOS.
doc: Some glibc functions also exist on Haiku.
doc: Mark functions which exist only on Linux.
doc: Mark functions which exist only on Linux and illumos.

5 years agodoc: Mark functions which exist only on Linux and illumos.
Bruno Haible [Mon, 10 Jun 2019 12:08:55 +0000 (14:08 +0200)]
doc: Mark functions which exist only on Linux and illumos.

5 years agodoc: Mark functions which exist only on Linux.
Bruno Haible [Mon, 10 Jun 2019 12:08:54 +0000 (14:08 +0200)]
doc: Mark functions which exist only on Linux.

5 years agodoc: Some glibc functions also exist on Haiku.
Bruno Haible [Mon, 10 Jun 2019 12:08:53 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on Haiku.

5 years agodoc: Some glibc functions also exist on BeOS.
Bruno Haible [Mon, 10 Jun 2019 12:08:52 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on BeOS.

5 years agodoc: Some glibc functions also exist on FreeBSD.
Bruno Haible [Mon, 10 Jun 2019 12:08:51 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on FreeBSD.

5 years agodoc: Some glibc functions also exist on Solaris 11.4.
Bruno Haible [Mon, 10 Jun 2019 12:08:50 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on Solaris 11.4.

5 years agodoc: Some glibc functions also exist on Solaris 11.
Bruno Haible [Mon, 10 Jun 2019 12:08:49 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on Solaris 11.

5 years agodoc: Some glibc functions also exist on FreeBSD, Solaris 11.
Bruno Haible [Mon, 10 Jun 2019 12:08:48 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on FreeBSD, Solaris 11.

5 years agodoc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
Bruno Haible [Mon, 10 Jun 2019 12:08:47 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.

5 years agodoc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
Bruno Haible [Mon, 10 Jun 2019 12:08:46 +0000 (14:08 +0200)]
doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.

5 years agodoc: Mention posix_spawn_file_actions_add[f]chdir_np.
Bruno Haible [Mon, 10 Jun 2019 12:08:45 +0000 (14:08 +0200)]
doc: Mention posix_spawn_file_actions_add[f]chdir_np.

* doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: New file.
* doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi: New file.
* doc/gnulib.texi (Glibc spawn.h): New section.

5 years agodoc: Mention getcpu.
Bruno Haible [Mon, 10 Jun 2019 12:08:43 +0000 (14:08 +0200)]
doc: Mention getcpu.

* doc/glibc-functions/getcpu.texi: New file.
* doc/gnulib.texi (Glibc sched.h): Include it.

5 years agodoc: Mention the ISO C11 multithreading header and functions.
Bruno Haible [Mon, 10 Jun 2019 12:08:42 +0000 (14:08 +0200)]
doc: Mention the ISO C11 multithreading header and functions.

* doc/posix-headers/threads.texi: New file.
* doc/posix-functions/call_once.texi: New file.
* doc/posix-functions/cnd_broadcast.texi: New file.
* doc/posix-functions/cnd_destroy.texi: New file.
* doc/posix-functions/cnd_init.texi: New file.
* doc/posix-functions/cnd_signal.texi: New file.
* doc/posix-functions/cnd_timedwait.texi: New file.
* doc/posix-functions/cnd_wait.texi: New file.
* doc/posix-functions/mtx_destroy.texi: New file.
* doc/posix-functions/mtx_init.texi: New file.
* doc/posix-functions/mtx_lock.texi: New file.
* doc/posix-functions/mtx_timedlock.texi: New file.
* doc/posix-functions/mtx_trylock.texi: New file.
* doc/posix-functions/mtx_unlock.texi: New file.
* doc/posix-functions/thrd_create.texi: New file.
* doc/posix-functions/thrd_current.texi: New file.
* doc/posix-functions/thrd_detach.texi: New file.
* doc/posix-functions/thrd_equal.texi: New file.
* doc/posix-functions/thrd_exit.texi: New file.
* doc/posix-functions/thrd_join.texi: New file.
* doc/posix-functions/thrd_sleep.texi: New file.
* doc/posix-functions/thrd_yield.texi: New file.
* doc/posix-functions/tss_create.texi: New file.
* doc/posix-functions/tss_delete.texi: New file.
* doc/posix-functions/tss_get.texi: New file.
* doc/posix-functions/tss_set.texi: New file.
* doc/gnulib.texi (Header File Substitutes): Include posix-headers/threads.texi.
(Function Substitutes): Include the new posix-functions/*.texi files.

5 years agodoc: Mention statx.
Bruno Haible [Mon, 10 Jun 2019 12:08:41 +0000 (14:08 +0200)]
doc: Mention statx.

* doc/glibc-functions/statx.texi: New file.
* doc/gnulib.texi (Glibc sys/stat.h): Include it.

5 years agodoc: Mention renameat2.
Bruno Haible [Mon, 10 Jun 2019 12:08:40 +0000 (14:08 +0200)]
doc: Mention renameat2.

* doc/glibc-functions/renameat2.texi: New file.
* doc/gnulib.texi (Glibc stdio.h): Include it.

5 years agodoc: Mention more ISO TS 18661-1 <math.h> functions.
Bruno Haible [Mon, 10 Jun 2019 12:08:39 +0000 (14:08 +0200)]
doc: Mention more ISO TS 18661-1 <math.h> functions.

* doc/posix-functions/fadd.texi: New file.
* doc/posix-functions/faddl.texi: New file.
* doc/posix-functions/daddl.texi: New file.
* doc/posix-functions/fsub.texi: New file.
* doc/posix-functions/fsubl.texi: New file.
* doc/posix-functions/dsubl.texi: New file.
* doc/posix-functions/fmul.texi: New file.
* doc/posix-functions/fmull.texi: New file.
* doc/posix-functions/dmull.texi: New file.
* doc/posix-functions/fdiv.texi: New file.
* doc/posix-functions/fdivl.texi: New file.
* doc/posix-functions/ddivl.texi: New file.
* doc/gnulib.texi (Function Substitutes): Include them.

5 years agodoc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
Bruno Haible [Mon, 10 Jun 2019 12:08:38 +0000 (14:08 +0200)]
doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.

* doc/glibc-functions/pkey_alloc.texi: New file.
* doc/glibc-functions/pkey_set.texi: New file.
* doc/glibc-functions/pkey_get.texi: New file.
* doc/glibc-functions/pkey_free.texi: New file.
* doc/glibc-functions/pkey_mprotect.texi: New file.
* doc/gnulib.texi (Glibc sys/mman.h): Include them.

5 years agodoc: Mention mlock2.
Bruno Haible [Mon, 10 Jun 2019 12:08:37 +0000 (14:08 +0200)]
doc: Mention mlock2.

* doc/glibc-functions/mlock2.texi: New file.
* doc/gnulib.texi (Glibc sys/mman.h): Include it.

5 years agodoc: Mention memfd_create.
Bruno Haible [Mon, 10 Jun 2019 12:08:36 +0000 (14:08 +0200)]
doc: Mention memfd_create.

* doc/glibc-functions/memfd_create.texi: New file.
* doc/gnulib.texi (Glibc sys/mman.h): Include it.

5 years agodoc: Mention copy_file_range.
Bruno Haible [Mon, 10 Jun 2019 12:08:35 +0000 (14:08 +0200)]
doc: Mention copy_file_range.

* doc/glibc-functions/copy_file_range.texi: New file.
* doc/gnulib.texi (Glibc unistd.h): Include it.

5 years agodoc: Mention preadv2, pwritev2.
Bruno Haible [Mon, 10 Jun 2019 12:08:34 +0000 (14:08 +0200)]
doc: Mention preadv2, pwritev2.

* doc/glibc-functions/preadv2.texi: New file.
* doc/glibc-functions/pwritev2.texi: New file.
* doc/gnulib.texi (Glibc sys/uio.h): Include them.

5 years agodoc: Mention strfromf, strfromd, strfroml.
Bruno Haible [Mon, 10 Jun 2019 12:08:32 +0000 (14:08 +0200)]
doc: Mention strfromf, strfromd, strfroml.

* doc/posix-functions/strfromf.texi: New file.
* doc/posix-functions/strfromd.texi: New file.
* doc/posix-functions/strfroml.texi: New file.
* doc/gnulib.texi (Function Substitutes): Include them.

5 years agodoc: Mention getrandom, getentropy.
Bruno Haible [Mon, 10 Jun 2019 12:08:31 +0000 (14:08 +0200)]
doc: Mention getrandom, getentropy.

* doc/glibc-functions/getrandom.texi: New file.
* doc/glibc-functions/getentropy.texi: New file.
* doc/gnulib.texi (Glibc sys/random.h): New section.

5 years agodoc: Mention ISO TS 18661-1 <fenv.h> functions.
Bruno Haible [Mon, 10 Jun 2019 12:08:30 +0000 (14:08 +0200)]
doc: Mention ISO TS 18661-1 <fenv.h> functions.

* posix-functions/fesetexcept.texi: New file.
* posix-functions/fetestexceptflag.texi: New file.
* posix-functions/fegetmode.texi: New file.
* posix-functions/fesetmode.texi: New file.
* doc/gnulib.texi (Function Substitutes): Include them.

5 years agodoc: Mention more ISO TS 18661-1 <math.h> functions.
Bruno Haible [Mon, 10 Jun 2019 12:08:29 +0000 (14:08 +0200)]
doc: Mention more ISO TS 18661-1 <math.h> functions.

* doc/posix-functions/roundeven.texi: New file.
* doc/posix-functions/roundevenf.texi: New file.
* doc/posix-functions/roundevenl.texi: New file.
* doc/posix-functions/fromfp.texi: New file.
* doc/posix-functions/fromfpf.texi: New file.
* doc/posix-functions/fromfpl.texi: New file.
* doc/posix-functions/ufromfp.texi: New file.
* doc/posix-functions/ufromfpf.texi: New file.
* doc/posix-functions/ufromfpl.texi: New file.
* doc/posix-functions/fromfpx.texi: New file.
* doc/posix-functions/fromfpxf.texi: New file.
* doc/posix-functions/fromfpxl.texi: New file.
* doc/posix-functions/ufromfpx.texi: New file.
* doc/posix-functions/ufromfpxf.texi: New file.
* doc/posix-functions/ufromfpxl.texi: New file.
* doc/posix-functions/llogb.texi: New file.
* doc/posix-functions/llogbf.texi: New file.
* doc/posix-functions/llogbl.texi: New file.
* doc/posix-functions/fmaxmag.texi: New file.
* doc/posix-functions/fmaxmagf.texi: New file.
* doc/posix-functions/fmaxmagl.texi: New file.
* doc/posix-functions/fminmag.texi: New file.
* doc/posix-functions/fminmagf.texi: New file.
* doc/posix-functions/fminmagl.texi: New file.
* doc/posix-functions/totalorder.texi: New file.
* doc/posix-functions/totalorderf.texi: New file.
* doc/posix-functions/totalorderl.texi: New file.
* doc/posix-functions/totalordermag.texi: New file.
* doc/posix-functions/totalordermagf.texi: New file.
* doc/posix-functions/totalordermagl.texi: New file.
* doc/posix-functions/canonicalize.texi: New file.
* doc/posix-functions/canonicalizef.texi: New file.
* doc/posix-functions/canonicalizel.texi: New file.
* doc/posix-functions/getpayload.texi: New file.
* doc/posix-functions/getpayloadf.texi: New file.
* doc/posix-functions/getpayloadl.texi: New file.
* doc/posix-functions/setpayload.texi: New file.
* doc/posix-functions/setpayloadf.texi: New file.
* doc/posix-functions/setpayloadl.texi: New file.
* doc/posix-functions/setpayloadsig.texi: New file.
* doc/posix-functions/setpayloadsigf.texi: New file.
* doc/posix-functions/setpayloadsigl.texi: New file.
* doc/gnulib.texi (Function Substitutes): Include them.

5 years agodoc: Mention nextdown, nextup.
Bruno Haible [Mon, 10 Jun 2019 12:08:28 +0000 (14:08 +0200)]
doc: Mention nextdown, nextup.

* doc/posix-functions/nextdown.texi: New file.
* doc/posix-functions/nextdownf.texi: New file.
* doc/posix-functions/nextdownl.texi: New file.
* doc/posix-functions/nextup.texi: New file.
* doc/posix-functions/nextupf.texi: New file.
* doc/posix-functions/nextupl.texi: New file.
* doc/gnulib.texi (Function Substitutes): Include them.

5 years agodoc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
Bruno Haible [Mon, 10 Jun 2019 12:08:27 +0000 (14:08 +0200)]
doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.

* doc/glibc-functions/pthread_getattr_default_np.texi: New file.
* doc/glibc-functions/pthread_setattr_default_np.texi: New file.
* doc/gnulib.texi (Glibc pthread.h): Include them.

5 years agodoc: Mention getauxval.
Bruno Haible [Mon, 10 Jun 2019 12:08:26 +0000 (14:08 +0200)]
doc: Mention getauxval.

* doc/glibc-functions/getauxval.texi: New file.
* doc/gnulib.texi (Glibc sys/auxv.h): New section.

5 years agodoc: Mention epoll_create1.
Bruno Haible [Mon, 10 Jun 2019 12:08:25 +0000 (14:08 +0200)]
doc: Mention epoll_create1.

* doc/glibc-functions/epoll_create1.texi: New file.
* doc/gnulib.texi (Glibc sys/epoll.h): Include it.

5 years agodoc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
Bruno Haible [Mon, 10 Jun 2019 12:08:23 +0000 (14:08 +0200)]
doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.

* doc/glibc-functions/timerfd_create.texi: New file.
* doc/glibc-functions/timerfd_gettime.texi: New file.
* doc/glibc-functions/timerfd_settime.texi: New file.
* doc/gnulib.texi (Glibc sys/timerfd.h): New section.

5 years agodoc: Mention signalfd.
Bruno Haible [Mon, 10 Jun 2019 12:08:22 +0000 (14:08 +0200)]
doc: Mention signalfd.

* doc/glibc-functions/signalfd.texi: New file.
* doc/gnulib.texi (Glibc sys/signalfd.h): New section.

5 years agodoc: Mention eventfd, eventfd_read, eventfd_write.
Bruno Haible [Mon, 10 Jun 2019 12:08:20 +0000 (14:08 +0200)]
doc: Mention eventfd, eventfd_read, eventfd_write.

* doc/glibc-functions/eventfd.texi: New file.
* doc/glibc-functions/eventfd_read.texi: New file.
* doc/glibc-functions/eventfd_write.texi: New file.
* doc/gnulib.texi (Glibc sys/eventfd.h): New section.

5 years agodoc: Mention epoll_pwait.
Bruno Haible [Mon, 10 Jun 2019 12:08:19 +0000 (14:08 +0200)]
doc: Mention epoll_pwait.

* doc/glibc-functions/epoll_pwait.texi: New file.
* doc/gnulib.texi (Glibc sys/epoll.h): Include it.

5 years agodoc: Mention sync_file_range.
Bruno Haible [Mon, 10 Jun 2019 12:08:17 +0000 (14:08 +0200)]
doc: Mention sync_file_range.

* doc/glibc-functions/sync_file_range.texi: New file.
* doc/gnulib.texi (Glibc fcntl.h): Include it.

5 years agodoc: Mention sched_getcpu.
Bruno Haible [Mon, 10 Jun 2019 12:08:16 +0000 (14:08 +0200)]
doc: Mention sched_getcpu.

* doc/glibc-functions/sched_getcpu.texi: New file.
* doc/gnulib.texi (Glibc sched.h): Include it.

5 years agodoc: Mention ppoll.
Bruno Haible [Mon, 10 Jun 2019 12:08:14 +0000 (14:08 +0200)]
doc: Mention ppoll.

* doc/glibc-functions/ppoll.texi: New file.
* doc/gnulib.texi (Glibc poll.h): New section.

5 years agodoc: Mention inotify_* functions.
Bruno Haible [Mon, 10 Jun 2019 12:08:13 +0000 (14:08 +0200)]
doc: Mention inotify_* functions.

* doc/glibc-functions/inotify_add_watch.texi: New file.
* doc/glibc-functions/inotify_init.texi: New file.
* doc/glibc-functions/inotify_init1.texi: New file.
* doc/glibc-functions/inotify_rm_watch.texi: New file.
* doc/gnulib.texi (Glibc sys/inotify.h): New section.

5 years agodoc: Add references to glibc documentation.
Bruno Haible [Mon, 10 Jun 2019 12:08:10 +0000 (14:08 +0200)]
doc: Add references to glibc documentation.

* doc/glibc-functions/add-links.sh: Renamed from
doc/glibc-functions/add-manpage-link.sh. Emit also a link to the Glibc manual.
* doc/glibc-functions/*.texi: Add references to the glibc manual.

5 years agodoc: Add references to Linux man pages.
Bruno Haible [Mon, 10 Jun 2019 12:08:09 +0000 (14:08 +0200)]
doc: Add references to Linux man pages.

* doc/glibc-functions/add-manpage-link.sh: New file.
* doc/glibc-functions/*.texi: Add reference to man page on kernel.org when it
exists.
* doc/posix-functions/aligned_alloc.texi: Likewise.

5 years agodoc: Mention eaccess.
Bruno Haible [Mon, 10 Jun 2019 12:08:08 +0000 (14:08 +0200)]
doc: Mention eaccess.

* doc/glibc-functions/eaccess.texi: New file.
* doc/gnulib.texi (Glibc unistd.h): Include it.

5 years agodoc: Mention the availability of specific functions in glibc versions.
Bruno Haible [Mon, 10 Jun 2019 12:08:06 +0000 (14:08 +0200)]
doc: Mention the availability of specific functions in glibc versions.

* doc/glibc-functions/accept4.texi: Add info about glibc.
* doc/glibc-functions/dup3.texi: Likewise.
* doc/glibc-functions/fallocate.texi: Likewise.
* doc/glibc-functions/mkostemp.texi: Likewise.
* doc/glibc-functions/pipe2.texi: Likewise.
* doc/posix-functions/futimens.texi: Likewise.
* doc/posix-functions/pthread_barrierattr_getpshared.texi: Likewise.
* doc/posix-functions/pthread_condattr_getclock.texi: Likewise.
* doc/posix-functions/pthread_condattr_setclock.texi: Likewise.
* doc/posix-functions/pthread_setschedprio.texi: Likewise.
* doc/posix-functions/strerror_l.texi: Likewise.
* doc/posix-functions/utimensat.texi: Likewise.

5 years agodoc: Mention that glibc no longer provides h_errno.
Bruno Haible [Mon, 10 Jun 2019 12:08:05 +0000 (14:08 +0200)]
doc: Mention that glibc no longer provides h_errno.

* doc/pastposix-functions/h_errno.texi: Mention as missing on glibc 2.29.

5 years agodoc: Remove mention of functions that are gone from glibc.
Bruno Haible [Mon, 10 Jun 2019 12:08:04 +0000 (14:08 +0200)]
doc: Remove mention of functions that are gone from glibc.

* doc/glibc-functions/xdr_mapname.texi: Remove file.
* doc/glibc-functions/xdr_peername.texi: Remove file.
* doc/glibc-functions/xdr_yp_buf.texi: Remove file.
* doc/glibc-functions/xdr_ypall.texi: Remove file.
* doc/glibc-functions/xdr_ypbind_binding.texi: Remove file.
* doc/glibc-functions/xdr_ypbind_resp.texi: Remove file.
* doc/glibc-functions/xdr_ypbind_setdom.texi: Remove file.
* doc/glibc-functions/xdr_ypdelete_args.texi: Remove file.
* doc/glibc-functions/xdr_yppush_status.texi: Remove file.
* doc/glibc-functions/xdr_ypupdate_args.texi: Remove file.
* doc/glibc-functions/yp_update.texi: Remove file.
* doc/gnulib.texi (Glibc rpcsvc/yp.h): Remove 6 functions.
(Glibc rpcsvc/ypclnt.h): Remove 1 function.
(Glibc rpcsvc/yp_prot.h, Glibc rpcsvc/ypupd.h): Remove nodes.

5 years agodoc: Remove mention of function vm86 (does not exist on x86_64).
Bruno Haible [Mon, 10 Jun 2019 12:08:03 +0000 (14:08 +0200)]
doc: Remove mention of function vm86 (does not exist on x86_64).

* doc/glibc-functions/vm86.texi: Remove file.
* doc/gnulib.texi (Glibc sys/vm86.h): Remove node.

5 years agodoc: Update after removal of crypt functions from glibc 2.28.
Bruno Haible [Mon, 10 Jun 2019 12:08:02 +0000 (14:08 +0200)]
doc: Update after removal of crypt functions from glibc 2.28.

* doc/posix-functions/crypt.texi: Mention as missing on glibc 2.29.
* doc/posix-functions/setkey.texi: Likewise.
* doc/glibc-functions/cbc_crypt.texi: Remove file.
* doc/glibc-functions/crypt_r.texi: Remove file.
* doc/glibc-functions/des_setparity.texi: Remove file.
* doc/glibc-functions/ecb_crypt.texi: Remove file.
* doc/glibc-functions/encrypt_r.texi: Remove file.
* doc/glibc-functions/setkey_r.texi: Remove file.
* doc/gnulib.texi (Glibc crypt.h, Glibc rpc/des_crypt.h): Remove nodes.

5 years agocopy-file: fix typo
Paul Eggert [Thu, 6 Jun 2019 22:45:14 +0000 (15:45 -0700)]
copy-file: fix typo

* lib/copy-file.c (qcopy_file_preserving): Remove unused label.

5 years agocopy-file-range: simplify into a stub
Paul Eggert [Thu, 6 Jun 2019 22:44:33 +0000 (15:44 -0700)]
copy-file-range: simplify into a stub

Based on a comment by Florian Weimer in:
https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
It turns out that Emacs (which will use this module) won’t need an
emulation and I suspect other programs won’t either, because these
programs will need to fall back on read+write anyway.  Perhaps I
am wrong and other programs will be able to use an emulation; if
so, this patch can be reverted.
* lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
Just call it copy_file_range.
* m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
Check via AC_LINK_IFELSE.
* modules/copy-file-range (Depends-on): Remove modules no longer used.

5 years agocopy-file: prefer copy_file_range
Paul Eggert [Wed, 5 Jun 2019 02:58:23 +0000 (19:58 -0700)]
copy-file: prefer copy_file_range

* lib/copy-file.c: Do not include xalloc.h.
(qcopy_file_preserving): Allocate a buffer only if
copy_file_range does not suffice.  If the allocation fails
don't give up; just use a small stack-based buffer.
Prefer copy_file_range if it works.
* modules/copy-file (Depends-on): Add copy-file-range.
Remove xalloc.

5 years agocopy-file-range: new module
Paul Eggert [Wed, 5 Jun 2019 02:54:09 +0000 (19:54 -0700)]
copy-file-range: new module

* MODULES.html.sh: Add copy-file-range.
* lib/copy-file-range.c, m4/copy-file-range.m4:
* modules/copy-file-range: New files.
* lib/unistd.in.h (copy_file_range): Declare.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
* modules/unistd (unistd.h): Substitute them.

5 years agoautoupdate
Karl Berry [Sun, 2 Jun 2019 14:50:44 +0000 (07:50 -0700)]
autoupdate

5 years agobinary-io: Attempted use of O_BINARY on consoles no longer fails.
Bruno Haible [Wed, 29 May 2019 00:44:52 +0000 (02:44 +0200)]
binary-io: Attempted use of O_BINARY on consoles no longer fails.

Reported by KO Myung-Hun <komh78@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.

* lib/binary-io.h (__gl_setmode_check): Remove function.
(set_binary_mode): Declare as notinline on DJGPP and EMX.
* lib/binary-io.c (__gl_setmode_check): Remove function.
(set_binary_mode): Define here on DJGPP and EMX. Inline
__gl_setmode_check. In case of a tty, don't return an error code.

5 years agoautoupdate
Karl Berry [Wed, 29 May 2019 14:48:43 +0000 (07:48 -0700)]
autoupdate

5 years agoautoupdate
Karl Berry [Tue, 28 May 2019 22:21:26 +0000 (15:21 -0700)]
autoupdate

5 years agodirent-safer: Make opendir_safer usable from C++.
James Youngman [Tue, 28 May 2019 12:35:28 +0000 (13:35 +0100)]
dirent-safer: Make opendir_safer usable from C++.

* lib/dirent-safer.h: use extern "C".

5 years agocanonicalize: Make canonicalize_filename_mode usable from C++.
James Youngman [Tue, 28 May 2019 12:21:16 +0000 (13:21 +0100)]
canonicalize: Make canonicalize_filename_mode usable from C++.

* lib/canonicalize.h: use extern "C".

5 years agoautoupdate
Karl Berry [Tue, 28 May 2019 13:27:57 +0000 (06:27 -0700)]
autoupdate

5 years agoprefix-gnulib-mk: Fix CPPFLAGS migration
Akim Demaille [Sat, 25 May 2019 17:40:10 +0000 (19:40 +0200)]
prefix-gnulib-mk: Fix CPPFLAGS migration

* build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
_a part of the library name.

5 years agoflexmember: update comments again
Paul Eggert [Sat, 25 May 2019 00:31:34 +0000 (17:31 -0700)]
flexmember: update comments again

* lib/flexmember.h, m4/flexmember.m4: Improve comments further.

5 years agoflexmember: update comment
Paul Eggert [Fri, 24 May 2019 21:59:11 +0000 (14:59 -0700)]
flexmember: update comment

* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.

5 years agoautoupdate
Karl Berry [Thu, 23 May 2019 15:53:42 +0000 (08:53 -0700)]
autoupdate

5 years agosetlocale: Improve fallback on macOS.
Bruno Haible [Mon, 20 May 2019 19:25:01 +0000 (21:25 +0200)]
setlocale: Improve fallback on macOS.

* lib/setlocale.c (search): Optimize away a redundant strcmp()
invocation.
(locales_with_principal_territory): New array.
(langcmp, get_main_locale_with_same_language): New functions.
(locales_with_principal_language): New array.
(terrcmp, get_main_locale_with_same_territory): New functions.
(rpl_setlocale): When setlocale_single failed, try again with a locale
that is more likely to exist. Don't warn if the environment variable
SETLOCALE_VERBOSE is not set.

5 years agolocalename: Fix default on macOS.
Bruno Haible [Mon, 20 May 2019 00:56:53 +0000 (02:56 +0200)]
localename: Fix default on macOS.

* m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
* lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
(gl_locale_name_environ, gl_locale_name_default): Remove code for
HAVE_CFLOCALECOPYCURRENT.
* lib/localename.h (gl_locale_name_default): Update.

5 years agosync texinfo.tex with file on ftp.gnu.org
Karl Berry [Sun, 19 May 2019 16:57:11 +0000 (09:57 -0700)]
sync texinfo.tex with file on ftp.gnu.org

5 years agomaintainer-makefile: catch uses of $< in non-implicit rules
Akim Demaille [Sat, 18 May 2019 06:46:00 +0000 (08:46 +0200)]
maintainer-makefile: catch uses of $< in non-implicit rules

* top/maint.mk (sc_prohibit_magic_number_exit): New.

5 years agothreadlib: Provide an easy way to avoid mingw's winpthreads library.
Bruno Haible [Sat, 18 May 2019 16:22:45 +0000 (18:22 +0200)]
threadlib: Provide an easy way to avoid mingw's winpthreads library.

* m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
(gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
gl_use_threads accordingly.

5 years agopthread_sigmask: Fix compilation error with --enable-threads=windows.
Bruno Haible [Sat, 18 May 2019 12:36:33 +0000 (14:36 +0200)]
pthread_sigmask: Fix compilation error with --enable-threads=windows.

Reported by Tim Rühsen in
<https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
and Michele Locati in
<https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.

* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
2015-06-01. Test whether pthread_sigmask is a macro, regardless of
$LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
in use and regardless which threads API is chosen.

6 years agoclose-stream, closein, closeout: simplify
Paul Eggert [Tue, 14 May 2019 15:20:29 +0000 (08:20 -0700)]
close-stream, closein, closeout: simplify

I noticed this opportunity for simplification while drafting a
new, related module that I haven’t had time to finish yet.
* m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
* modules/close-stream (Files): Remove m4/close-stream.m4.
(configure.ac): Omit gl_CLOSE_STREAM.
* modules/closein (Files): Remove m4/closein.m4
(configure.ac): Omit gl_CLOSEIN.
* modules/closeout (Files): Remove m4/closeout.m4.
(configure.ac): Omit gl_CLOSEOUT.