summaryrefslogtreecommitdiff
path: root/gl
diff options
context:
space:
mode:
Diffstat (limited to 'gl')
-rw-r--r--gl/lib/Makefile.am19
-rw-r--r--gl/lib/Makefile.in283
-rw-r--r--gl/lib/cdefs.h4
-rw-r--r--gl/lib/nanosleep.c89
-rw-r--r--gl/lib/pselect.c110
-rw-r--r--gl/lib/pthread_sigmask.c92
-rw-r--r--gl/lib/string.in.h29
-rw-r--r--gl/m4/gnulib-common.m44
-rw-r--r--gl/m4/gnulib-comp.m421
-rw-r--r--gl/m4/nanosleep.m424
-rw-r--r--gl/m4/pselect.m473
-rw-r--r--gl/m4/pthread_sigmask.m4274
-rw-r--r--gl/po/POTFILES.in2
-rw-r--r--gl/po/af.po2
-rw-r--r--gl/po/be.po6
-rw-r--r--gl/po/bg.po2
-rw-r--r--gl/po/ca.po2
-rw-r--r--gl/po/cs.po2
-rw-r--r--gl/po/da.po2
-rw-r--r--gl/po/de.po2
-rw-r--r--gl/po/el.po2
-rw-r--r--gl/po/eo.po2
-rw-r--r--gl/po/es.po2
-rw-r--r--gl/po/et.po2
-rw-r--r--gl/po/eu.po2
-rw-r--r--gl/po/fi.po2
-rw-r--r--gl/po/fr.po2
-rw-r--r--gl/po/ga.po2
-rw-r--r--gl/po/gl.po2
-rw-r--r--gl/po/hu.po2
-rw-r--r--gl/po/it.po2
-rw-r--r--gl/po/ja.po2
-rw-r--r--gl/po/ko.po2
-rw-r--r--gl/po/man-db-gnulib.pot4
-rw-r--r--gl/po/ms.po2
-rw-r--r--gl/po/nb.po2
-rw-r--r--gl/po/nl.po2
-rw-r--r--gl/po/pl.po2
-rw-r--r--gl/po/pt.po2
-rw-r--r--gl/po/pt_BR.po2
-rw-r--r--gl/po/ro.gmobin1830 -> 5091 bytes
-rw-r--r--gl/po/ro.po925
-rw-r--r--gl/po/ru.po6
-rw-r--r--gl/po/rw.po2
-rw-r--r--gl/po/sk.po2
-rw-r--r--gl/po/sl.po6
-rw-r--r--gl/po/sr.po6
-rw-r--r--gl/po/sv.po2
-rw-r--r--gl/po/tr.po2
-rw-r--r--gl/po/uk.po10
-rw-r--r--gl/po/vi.po2
-rw-r--r--gl/po/zh_CN.po2
-rw-r--r--gl/po/zh_TW.po2
53 files changed, 1606 insertions, 445 deletions
diff --git a/gl/lib/Makefile.am b/gl/lib/Makefile.am
index 45e3c3de..8e04cbbb 100644
--- a/gl/lib/Makefile.am
+++ b/gl/lib/Makefile.am
@@ -103,7 +103,7 @@
# xstrndup \
# xvasprintf
-AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects
+AUTOMAKE_OPTIONS = 1.14 gnits subdir-objects
SUBDIRS =
noinst_HEADERS =
@@ -139,6 +139,7 @@ libgnu_la_LDFLAGS += $(LIB_GETRANDOM)
libgnu_la_LDFLAGS += $(LIB_HARD_LOCALE)
libgnu_la_LDFLAGS += $(LIB_MBRTOWC)
libgnu_la_LDFLAGS += $(LIB_NANOSLEEP)
+libgnu_la_LDFLAGS += $(LIB_PTHREAD_SIGMASK)
libgnu_la_LDFLAGS += $(LIB_SELECT)
libgnu_la_LDFLAGS += $(LIB_SETLOCALE_NULL)
libgnu_la_LDFLAGS += $(LTLIBINTL)
@@ -1542,6 +1543,22 @@ libgnu_la_SOURCES += progname.h progname.c
## end gnulib module progname
+## begin gnulib module pselect
+
+if GL_COND_OBJ_PSELECT
+libgnu_la_SOURCES += pselect.c
+endif
+
+## end gnulib module pselect
+
+## begin gnulib module pthread_sigmask
+
+if GL_COND_OBJ_PTHREAD_SIGMASK
+libgnu_la_SOURCES += pthread_sigmask.c
+endif
+
+## end gnulib module pthread_sigmask
+
## begin gnulib module raise
if GL_COND_OBJ_RAISE
diff --git a/gl/lib/Makefile.in b/gl/lib/Makefile.in
index b1a06b46..69b555e4 100644
--- a/gl/lib/Makefile.in
+++ b/gl/lib/Makefile.in
@@ -248,44 +248,46 @@ host_triplet = @host@
@GL_COND_OBJ_OPENAT_TRUE@am__append_53 = openat.c
@GL_COND_OBJ_OPENDIR_TRUE@am__append_54 = opendir.c
@GL_COND_OBJ_PIPE_TRUE@am__append_55 = pipe.c
-@GL_COND_OBJ_RAISE_TRUE@am__append_56 = raise.c
-@GL_COND_OBJ_RAWMEMCHR_TRUE@am__append_57 = rawmemchr.c
-@GL_COND_OBJ_READDIR_TRUE@am__append_58 = readdir.c
-@GL_COND_OBJ_READLINK_TRUE@am__append_59 = readlink.c
-@GL_COND_OBJ_REALLOCARRAY_TRUE@am__append_60 = reallocarray.c
-@GL_COND_OBJ_REGEX_TRUE@am__append_61 = regex.c
-@GL_COND_OBJ_RENAME_TRUE@am__append_62 = rename.c
-@GL_COND_OBJ_RENAMEAT_TRUE@am__append_63 = renameat.c
-@GL_COND_OBJ_REWINDDIR_TRUE@am__append_64 = rewinddir.c
-@GL_COND_OBJ_RMDIR_TRUE@am__append_65 = rmdir.c
-@GL_COND_OBJ_SELECT_TRUE@am__append_66 = select.c
-@GL_COND_OBJ_SETENV_TRUE@am__append_67 = setenv.c
-@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__append_68 = setlocale-lock.c
-@GL_COND_OBJ_SIGACTION_TRUE@am__append_69 = sigaction.c
-@GL_COND_OBJ_SIGPROCMASK_TRUE@am__append_70 = sigprocmask.c
-@GL_COND_OBJ_SLEEP_TRUE@am__append_71 = sleep.c
-@GL_COND_OBJ_STAT_TRUE@am__append_72 = stat.c
-@GL_COND_OBJ_STDIO_READ_TRUE@am__append_73 = stdio-read.c
-@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_74 = stdio-write.c
-@GL_COND_OBJ_STRCASECMP_TRUE@am__append_75 = strcasecmp.c
-@GL_COND_OBJ_STRNCASECMP_TRUE@am__append_76 = strncasecmp.c
-@GL_COND_OBJ_STRCHRNUL_TRUE@am__append_77 = strchrnul.c
-@GL_COND_OBJ_STRDUP_TRUE@am__append_78 = strdup.c
-@GL_COND_OBJ_STRERROR_TRUE@am__append_79 = strerror.c
-@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_80 = strerror-override.c
-@GL_COND_OBJ_STRNDUP_TRUE@am__append_81 = strndup.c
-@GL_COND_OBJ_STRNLEN_TRUE@am__append_82 = strnlen.c
-@GL_COND_OBJ_STRSEP_TRUE@am__append_83 = strsep.c
-@GL_COND_OBJ_UNLINK_TRUE@am__append_84 = unlink.c
-@GL_COND_OBJ_UNLINKAT_TRUE@am__append_85 = unlinkat.c
-@GL_COND_OBJ_UTIME_TRUE@am__append_86 = utime.c
-@GL_COND_OBJ_WCRTOMB_TRUE@am__append_87 = wcrtomb.c
-@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__append_88 = windows-mutex.c
-@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__append_89 = windows-once.c
-@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__append_90 = windows-recmutex.c
-@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__append_91 = windows-rwlock.c
-@GL_COND_OBJ_WMEMCHR_TRUE@am__append_92 = wmemchr.c
-@GL_COND_OBJ_WMEMPCPY_TRUE@am__append_93 = wmempcpy.c
+@GL_COND_OBJ_PSELECT_TRUE@am__append_56 = pselect.c
+@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__append_57 = pthread_sigmask.c
+@GL_COND_OBJ_RAISE_TRUE@am__append_58 = raise.c
+@GL_COND_OBJ_RAWMEMCHR_TRUE@am__append_59 = rawmemchr.c
+@GL_COND_OBJ_READDIR_TRUE@am__append_60 = readdir.c
+@GL_COND_OBJ_READLINK_TRUE@am__append_61 = readlink.c
+@GL_COND_OBJ_REALLOCARRAY_TRUE@am__append_62 = reallocarray.c
+@GL_COND_OBJ_REGEX_TRUE@am__append_63 = regex.c
+@GL_COND_OBJ_RENAME_TRUE@am__append_64 = rename.c
+@GL_COND_OBJ_RENAMEAT_TRUE@am__append_65 = renameat.c
+@GL_COND_OBJ_REWINDDIR_TRUE@am__append_66 = rewinddir.c
+@GL_COND_OBJ_RMDIR_TRUE@am__append_67 = rmdir.c
+@GL_COND_OBJ_SELECT_TRUE@am__append_68 = select.c
+@GL_COND_OBJ_SETENV_TRUE@am__append_69 = setenv.c
+@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__append_70 = setlocale-lock.c
+@GL_COND_OBJ_SIGACTION_TRUE@am__append_71 = sigaction.c
+@GL_COND_OBJ_SIGPROCMASK_TRUE@am__append_72 = sigprocmask.c
+@GL_COND_OBJ_SLEEP_TRUE@am__append_73 = sleep.c
+@GL_COND_OBJ_STAT_TRUE@am__append_74 = stat.c
+@GL_COND_OBJ_STDIO_READ_TRUE@am__append_75 = stdio-read.c
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_76 = stdio-write.c
+@GL_COND_OBJ_STRCASECMP_TRUE@am__append_77 = strcasecmp.c
+@GL_COND_OBJ_STRNCASECMP_TRUE@am__append_78 = strncasecmp.c
+@GL_COND_OBJ_STRCHRNUL_TRUE@am__append_79 = strchrnul.c
+@GL_COND_OBJ_STRDUP_TRUE@am__append_80 = strdup.c
+@GL_COND_OBJ_STRERROR_TRUE@am__append_81 = strerror.c
+@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_82 = strerror-override.c
+@GL_COND_OBJ_STRNDUP_TRUE@am__append_83 = strndup.c
+@GL_COND_OBJ_STRNLEN_TRUE@am__append_84 = strnlen.c
+@GL_COND_OBJ_STRSEP_TRUE@am__append_85 = strsep.c
+@GL_COND_OBJ_UNLINK_TRUE@am__append_86 = unlink.c
+@GL_COND_OBJ_UNLINKAT_TRUE@am__append_87 = unlinkat.c
+@GL_COND_OBJ_UTIME_TRUE@am__append_88 = utime.c
+@GL_COND_OBJ_WCRTOMB_TRUE@am__append_89 = wcrtomb.c
+@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__append_90 = windows-mutex.c
+@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__append_91 = windows-once.c
+@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__append_92 = windows-recmutex.c
+@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__append_93 = windows-rwlock.c
+@GL_COND_OBJ_WMEMCHR_TRUE@am__append_94 = wmemchr.c
+@GL_COND_OBJ_WMEMPCPY_TRUE@am__append_95 = wmempcpy.c
subdir = gl/lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
@@ -300,6 +302,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/m4/man-arg-override-dir.m4 \
$(top_srcdir)/m4/man-arg-sections.m4 \
$(top_srcdir)/m4/man-arg-setuid.m4 \
+ $(top_srcdir)/m4/man-arg-snapdir.m4 \
$(top_srcdir)/m4/man-arg-systemdsystemunitdir.m4 \
$(top_srcdir)/m4/man-arg-systemdtmpfilesdir.m4 \
$(top_srcdir)/m4/man-arg-undoc.m4 $(top_srcdir)/m4/man-bdb.m4 \
@@ -404,8 +407,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gl/m4/openat.m4 $(top_srcdir)/gl/m4/opendir.m4 \
$(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/pipe.m4 \
$(top_srcdir)/gl/m4/po.m4 $(top_srcdir)/gl/m4/printf.m4 \
- $(top_srcdir)/gl/m4/progtest.m4 \
+ $(top_srcdir)/gl/m4/progtest.m4 $(top_srcdir)/gl/m4/pselect.m4 \
$(top_srcdir)/gl/m4/pthread_rwlock_rdlock.m4 \
+ $(top_srcdir)/gl/m4/pthread_sigmask.m4 \
$(top_srcdir)/gl/m4/raise.m4 $(top_srcdir)/gl/m4/rawmemchr.m4 \
$(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/readlink.m4 \
$(top_srcdir)/gl/m4/realloc.m4 \
@@ -508,12 +512,13 @@ am__libgnu_la_SOURCES_DIST = argp.h argp-ba.c argp-eexst.c \
mempcpy.c memrchr.c minmax.h mkdir.c mkdtemp.c mkstemp.c \
msvc-inval.c msvc-nothrow.c nanosleep.c nl_langinfo.c \
nl_langinfo-lock.c nonblocking.c open.c openat.c openat-die.c \
- opendir.c pipe.c progname.h progname.c raise.c rawmemchr.c \
- gl_rbtree_list.h gl_rbtree_list.c gl_anyrbtree_list1.h \
- gl_anyrbtree_list2.h gl_anytree_list1.h gl_anytree_list2.h \
- readdir.c readlink.c reallocarray.c regex.c rename.c \
- renameat.c renameatu.c rewinddir.c rmdir.c save-cwd.c \
- malloc/scratch_buffer_dupfree.c malloc/scratch_buffer_grow.c \
+ opendir.c pipe.c progname.h progname.c pselect.c \
+ pthread_sigmask.c raise.c rawmemchr.c gl_rbtree_list.h \
+ gl_rbtree_list.c gl_anyrbtree_list1.h gl_anyrbtree_list2.h \
+ gl_anytree_list1.h gl_anytree_list2.h readdir.c readlink.c \
+ reallocarray.c regex.c rename.c renameat.c renameatu.c \
+ rewinddir.c rmdir.c save-cwd.c malloc/scratch_buffer_dupfree.c \
+ malloc/scratch_buffer_grow.c \
malloc/scratch_buffer_grow_preserve.c \
malloc/scratch_buffer_set_array_size.c select.c gl_set.h \
gl_set.c setenv.c setlocale_null.c setlocale-lock.c \
@@ -595,52 +600,54 @@ am__dirstamp = $(am__leading_dot)dirstamp
@GL_COND_OBJ_OPENAT_TRUE@am__objects_53 = libgnu_la-openat.lo
@GL_COND_OBJ_OPENDIR_TRUE@am__objects_54 = libgnu_la-opendir.lo
@GL_COND_OBJ_PIPE_TRUE@am__objects_55 = libgnu_la-pipe.lo
-@GL_COND_OBJ_RAISE_TRUE@am__objects_56 = libgnu_la-raise.lo
-@GL_COND_OBJ_RAWMEMCHR_TRUE@am__objects_57 = libgnu_la-rawmemchr.lo
-@GL_COND_OBJ_READDIR_TRUE@am__objects_58 = libgnu_la-readdir.lo
-@GL_COND_OBJ_READLINK_TRUE@am__objects_59 = libgnu_la-readlink.lo
-@GL_COND_OBJ_REALLOCARRAY_TRUE@am__objects_60 = \
+@GL_COND_OBJ_PSELECT_TRUE@am__objects_56 = libgnu_la-pselect.lo
+@GL_COND_OBJ_PTHREAD_SIGMASK_TRUE@am__objects_57 = libgnu_la-pthread_sigmask.lo
+@GL_COND_OBJ_RAISE_TRUE@am__objects_58 = libgnu_la-raise.lo
+@GL_COND_OBJ_RAWMEMCHR_TRUE@am__objects_59 = libgnu_la-rawmemchr.lo
+@GL_COND_OBJ_READDIR_TRUE@am__objects_60 = libgnu_la-readdir.lo
+@GL_COND_OBJ_READLINK_TRUE@am__objects_61 = libgnu_la-readlink.lo
+@GL_COND_OBJ_REALLOCARRAY_TRUE@am__objects_62 = \
@GL_COND_OBJ_REALLOCARRAY_TRUE@ libgnu_la-reallocarray.lo
-@GL_COND_OBJ_REGEX_TRUE@am__objects_61 = libgnu_la-regex.lo
-@GL_COND_OBJ_RENAME_TRUE@am__objects_62 = libgnu_la-rename.lo
-@GL_COND_OBJ_RENAMEAT_TRUE@am__objects_63 = libgnu_la-renameat.lo
-@GL_COND_OBJ_REWINDDIR_TRUE@am__objects_64 = libgnu_la-rewinddir.lo
-@GL_COND_OBJ_RMDIR_TRUE@am__objects_65 = libgnu_la-rmdir.lo
-@GL_COND_OBJ_SELECT_TRUE@am__objects_66 = libgnu_la-select.lo
-@GL_COND_OBJ_SETENV_TRUE@am__objects_67 = libgnu_la-setenv.lo
-@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__objects_68 = \
+@GL_COND_OBJ_REGEX_TRUE@am__objects_63 = libgnu_la-regex.lo
+@GL_COND_OBJ_RENAME_TRUE@am__objects_64 = libgnu_la-rename.lo
+@GL_COND_OBJ_RENAMEAT_TRUE@am__objects_65 = libgnu_la-renameat.lo
+@GL_COND_OBJ_REWINDDIR_TRUE@am__objects_66 = libgnu_la-rewinddir.lo
+@GL_COND_OBJ_RMDIR_TRUE@am__objects_67 = libgnu_la-rmdir.lo
+@GL_COND_OBJ_SELECT_TRUE@am__objects_68 = libgnu_la-select.lo
+@GL_COND_OBJ_SETENV_TRUE@am__objects_69 = libgnu_la-setenv.lo
+@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@am__objects_70 = \
@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@ libgnu_la-setlocale-lock.lo
-@GL_COND_OBJ_SIGACTION_TRUE@am__objects_69 = libgnu_la-sigaction.lo
-@GL_COND_OBJ_SIGPROCMASK_TRUE@am__objects_70 = \
+@GL_COND_OBJ_SIGACTION_TRUE@am__objects_71 = libgnu_la-sigaction.lo
+@GL_COND_OBJ_SIGPROCMASK_TRUE@am__objects_72 = \
@GL_COND_OBJ_SIGPROCMASK_TRUE@ libgnu_la-sigprocmask.lo
-@GL_COND_OBJ_SLEEP_TRUE@am__objects_71 = libgnu_la-sleep.lo
-@GL_COND_OBJ_STAT_TRUE@am__objects_72 = libgnu_la-stat.lo
-@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_73 = libgnu_la-stdio-read.lo
-@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_74 = \
+@GL_COND_OBJ_SLEEP_TRUE@am__objects_73 = libgnu_la-sleep.lo
+@GL_COND_OBJ_STAT_TRUE@am__objects_74 = libgnu_la-stat.lo
+@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_75 = libgnu_la-stdio-read.lo
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_76 = \
@GL_COND_OBJ_STDIO_WRITE_TRUE@ libgnu_la-stdio-write.lo
-@GL_COND_OBJ_STRCASECMP_TRUE@am__objects_75 = libgnu_la-strcasecmp.lo
-@GL_COND_OBJ_STRNCASECMP_TRUE@am__objects_76 = \
+@GL_COND_OBJ_STRCASECMP_TRUE@am__objects_77 = libgnu_la-strcasecmp.lo
+@GL_COND_OBJ_STRNCASECMP_TRUE@am__objects_78 = \
@GL_COND_OBJ_STRNCASECMP_TRUE@ libgnu_la-strncasecmp.lo
-@GL_COND_OBJ_STRCHRNUL_TRUE@am__objects_77 = libgnu_la-strchrnul.lo
-@GL_COND_OBJ_STRDUP_TRUE@am__objects_78 = libgnu_la-strdup.lo
-@GL_COND_OBJ_STRERROR_TRUE@am__objects_79 = libgnu_la-strerror.lo
-@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_80 = libgnu_la-strerror-override.lo
-@GL_COND_OBJ_STRNDUP_TRUE@am__objects_81 = libgnu_la-strndup.lo
-@GL_COND_OBJ_STRNLEN_TRUE@am__objects_82 = libgnu_la-strnlen.lo
-@GL_COND_OBJ_STRSEP_TRUE@am__objects_83 = libgnu_la-strsep.lo
-@GL_COND_OBJ_UNLINK_TRUE@am__objects_84 = libgnu_la-unlink.lo
-@GL_COND_OBJ_UNLINKAT_TRUE@am__objects_85 = libgnu_la-unlinkat.lo
-@GL_COND_OBJ_UTIME_TRUE@am__objects_86 = libgnu_la-utime.lo
-@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_87 = libgnu_la-wcrtomb.lo
-@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__objects_88 = \
+@GL_COND_OBJ_STRCHRNUL_TRUE@am__objects_79 = libgnu_la-strchrnul.lo
+@GL_COND_OBJ_STRDUP_TRUE@am__objects_80 = libgnu_la-strdup.lo
+@GL_COND_OBJ_STRERROR_TRUE@am__objects_81 = libgnu_la-strerror.lo
+@GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_82 = libgnu_la-strerror-override.lo
+@GL_COND_OBJ_STRNDUP_TRUE@am__objects_83 = libgnu_la-strndup.lo
+@GL_COND_OBJ_STRNLEN_TRUE@am__objects_84 = libgnu_la-strnlen.lo
+@GL_COND_OBJ_STRSEP_TRUE@am__objects_85 = libgnu_la-strsep.lo
+@GL_COND_OBJ_UNLINK_TRUE@am__objects_86 = libgnu_la-unlink.lo
+@GL_COND_OBJ_UNLINKAT_TRUE@am__objects_87 = libgnu_la-unlinkat.lo
+@GL_COND_OBJ_UTIME_TRUE@am__objects_88 = libgnu_la-utime.lo
+@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_89 = libgnu_la-wcrtomb.lo
+@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@am__objects_90 = \
@GL_COND_OBJ_WINDOWS_MUTEX_TRUE@ libgnu_la-windows-mutex.lo
-@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__objects_89 = \
+@GL_COND_OBJ_WINDOWS_ONCE_TRUE@am__objects_91 = \
@GL_COND_OBJ_WINDOWS_ONCE_TRUE@ libgnu_la-windows-once.lo
-@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__objects_90 = libgnu_la-windows-recmutex.lo
-@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__objects_91 = \
+@GL_COND_OBJ_WINDOWS_RECMUTEX_TRUE@am__objects_92 = libgnu_la-windows-recmutex.lo
+@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@am__objects_93 = \
@GL_COND_OBJ_WINDOWS_RWLOCK_TRUE@ libgnu_la-windows-rwlock.lo
-@GL_COND_OBJ_WMEMCHR_TRUE@am__objects_92 = libgnu_la-wmemchr.lo
-@GL_COND_OBJ_WMEMPCPY_TRUE@am__objects_93 = libgnu_la-wmempcpy.lo
+@GL_COND_OBJ_WMEMCHR_TRUE@am__objects_94 = libgnu_la-wmemchr.lo
+@GL_COND_OBJ_WMEMPCPY_TRUE@am__objects_95 = libgnu_la-wmempcpy.lo
am_libgnu_la_OBJECTS = libgnu_la-argp-ba.lo libgnu_la-argp-eexst.lo \
libgnu_la-argp-fmtstream.lo libgnu_la-argp-fs-xinl.lo \
libgnu_la-argp-help.lo libgnu_la-argp-parse.lo \
@@ -686,33 +693,34 @@ am_libgnu_la_OBJECTS = libgnu_la-argp-ba.lo libgnu_la-argp-eexst.lo \
$(am__objects_50) $(am__objects_51) libgnu_la-nonblocking.lo \
$(am__objects_52) $(am__objects_53) libgnu_la-openat-die.lo \
$(am__objects_54) $(am__objects_55) libgnu_la-progname.lo \
- $(am__objects_56) $(am__objects_57) \
- libgnu_la-gl_rbtree_list.lo $(am__objects_58) \
- $(am__objects_59) $(am__objects_60) $(am__objects_61) \
- $(am__objects_62) $(am__objects_63) libgnu_la-renameatu.lo \
- $(am__objects_64) $(am__objects_65) libgnu_la-save-cwd.lo \
+ $(am__objects_56) $(am__objects_57) $(am__objects_58) \
+ $(am__objects_59) libgnu_la-gl_rbtree_list.lo \
+ $(am__objects_60) $(am__objects_61) $(am__objects_62) \
+ $(am__objects_63) $(am__objects_64) $(am__objects_65) \
+ libgnu_la-renameatu.lo $(am__objects_66) $(am__objects_67) \
+ libgnu_la-save-cwd.lo \
malloc/libgnu_la-scratch_buffer_dupfree.lo \
malloc/libgnu_la-scratch_buffer_grow.lo \
malloc/libgnu_la-scratch_buffer_grow_preserve.lo \
malloc/libgnu_la-scratch_buffer_set_array_size.lo \
- $(am__objects_66) libgnu_la-gl_set.lo $(am__objects_67) \
- libgnu_la-setlocale_null.lo $(am__objects_68) \
- $(am__objects_69) libgnu_la-sig-handler.lo $(am__objects_70) \
- $(am__objects_71) libgnu_la-sockets.lo $(am__objects_72) \
- libgnu_la-stat-time.lo libgnu_la-statat.lo $(am__objects_73) \
- $(am__objects_74) libgnu_la-stdopen.lo $(am__objects_75) \
- $(am__objects_76) $(am__objects_77) $(am__objects_78) \
- $(am__objects_79) $(am__objects_80) $(am__objects_81) \
- $(am__objects_82) libgnu_la-strnlen1.lo $(am__objects_83) \
+ $(am__objects_68) libgnu_la-gl_set.lo $(am__objects_69) \
+ libgnu_la-setlocale_null.lo $(am__objects_70) \
+ $(am__objects_71) libgnu_la-sig-handler.lo $(am__objects_72) \
+ $(am__objects_73) libgnu_la-sockets.lo $(am__objects_74) \
+ libgnu_la-stat-time.lo libgnu_la-statat.lo $(am__objects_75) \
+ $(am__objects_76) libgnu_la-stdopen.lo $(am__objects_77) \
+ $(am__objects_78) $(am__objects_79) $(am__objects_80) \
+ $(am__objects_81) $(am__objects_82) $(am__objects_83) \
+ $(am__objects_84) libgnu_la-strnlen1.lo $(am__objects_85) \
libgnu_la-sys_socket.lo libgnu_la-tempname.lo \
glthread/libgnu_la-threadlib.lo libgnu_la-timespec.lo \
libgnu_la-unistd.lo libgnu_la-dup-safer.lo \
libgnu_la-fd-safer.lo libgnu_la-pipe-safer.lo \
- $(am__objects_84) $(am__objects_85) $(am__objects_86) \
- libgnu_la-utimens.lo libgnu_la-verror.lo $(am__objects_87) \
- libgnu_la-wctype-h.lo $(am__objects_88) $(am__objects_89) \
- $(am__objects_90) $(am__objects_91) $(am__objects_92) \
- $(am__objects_93) libgnu_la-xmalloc.lo libgnu_la-xalloc-die.lo \
+ $(am__objects_86) $(am__objects_87) $(am__objects_88) \
+ libgnu_la-utimens.lo libgnu_la-verror.lo $(am__objects_89) \
+ libgnu_la-wctype-h.lo $(am__objects_90) $(am__objects_91) \
+ $(am__objects_92) $(am__objects_93) $(am__objects_94) \
+ $(am__objects_95) libgnu_la-xmalloc.lo libgnu_la-xalloc-die.lo \
libgnu_la-xgetcwd.lo libgnu_la-gl_xlist.lo \
libgnu_la-gl_xmap.lo libgnu_la-gl_xset.lo libgnu_la-xsize.lo \
libgnu_la-xstdopen.lo libgnu_la-xstrndup.lo \
@@ -864,6 +872,8 @@ am__depfiles_remade = ./$(DEPDIR)/alloca.Plo \
./$(DEPDIR)/libgnu_la-printf-args.Plo \
./$(DEPDIR)/libgnu_la-printf-parse.Plo \
./$(DEPDIR)/libgnu_la-progname.Plo \
+ ./$(DEPDIR)/libgnu_la-pselect.Plo \
+ ./$(DEPDIR)/libgnu_la-pthread_sigmask.Plo \
./$(DEPDIR)/libgnu_la-raise.Plo \
./$(DEPDIR)/libgnu_la-rawmemchr.Plo \
./$(DEPDIR)/libgnu_la-readdir.Plo \
@@ -1798,6 +1808,7 @@ LIB_HARD_LOCALE = @LIB_HARD_LOCALE@
LIB_MBRTOWC = @LIB_MBRTOWC@
LIB_NANOSLEEP = @LIB_NANOSLEEP@
LIB_NL_LANGINFO = @LIB_NL_LANGINFO@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
LIB_SCHED_YIELD = @LIB_SCHED_YIELD@
LIB_SELECT = @LIB_SELECT@
LIB_SETLOCALE_NULL = @LIB_SETLOCALE_NULL@
@@ -2261,6 +2272,7 @@ runstatedir = @runstatedir@
sbindir = @sbindir@
sections = @sections@
sharedstatedir = @sharedstatedir@
+snapdir = @snapdir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
systemdsystemunitdir = @systemdsystemunitdir@
@@ -2276,7 +2288,7 @@ troff_as_troff_input = @troff_as_troff_input@
vgrind = @vgrind@
xz = @xz@
zstd = @zstd@
-AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects
+AUTOMAKE_OPTIONS = 1.14 gnits subdir-objects
SUBDIRS =
noinst_HEADERS =
noinst_LIBRARIES =
@@ -2401,29 +2413,30 @@ libgnu_la_SOURCES = argp.h argp-ba.c argp-eexst.c argp-fmtstream.c \
$(am__append_50) $(am__append_51) nonblocking.c \
$(am__append_52) $(am__append_53) openat-die.c \
$(am__append_54) $(am__append_55) progname.h progname.c \
- $(am__append_56) $(am__append_57) gl_rbtree_list.h \
- gl_rbtree_list.c gl_anyrbtree_list1.h gl_anyrbtree_list2.h \
- gl_anytree_list1.h gl_anytree_list2.h $(am__append_58) \
- $(am__append_59) $(am__append_60) $(am__append_61) \
- $(am__append_62) $(am__append_63) renameatu.c $(am__append_64) \
- $(am__append_65) save-cwd.c malloc/scratch_buffer_dupfree.c \
+ $(am__append_56) $(am__append_57) $(am__append_58) \
+ $(am__append_59) gl_rbtree_list.h gl_rbtree_list.c \
+ gl_anyrbtree_list1.h gl_anyrbtree_list2.h gl_anytree_list1.h \
+ gl_anytree_list2.h $(am__append_60) $(am__append_61) \
+ $(am__append_62) $(am__append_63) $(am__append_64) \
+ $(am__append_65) renameatu.c $(am__append_66) $(am__append_67) \
+ save-cwd.c malloc/scratch_buffer_dupfree.c \
malloc/scratch_buffer_grow.c \
malloc/scratch_buffer_grow_preserve.c \
- malloc/scratch_buffer_set_array_size.c $(am__append_66) \
- gl_set.h gl_set.c $(am__append_67) setlocale_null.c \
- $(am__append_68) $(am__append_69) sig-handler.c \
- $(am__append_70) size_max.h $(am__append_71) sockets.h \
- sockets.c $(am__append_72) stat-time.c statat.c \
- $(am__append_73) $(am__append_74) stdopen.c $(am__append_75) \
- $(am__append_76) $(am__append_77) $(am__append_78) \
- $(am__append_79) $(am__append_80) $(am__append_81) \
- $(am__append_82) strnlen1.h strnlen1.c $(am__append_83) \
+ malloc/scratch_buffer_set_array_size.c $(am__append_68) \
+ gl_set.h gl_set.c $(am__append_69) setlocale_null.c \
+ $(am__append_70) $(am__append_71) sig-handler.c \
+ $(am__append_72) size_max.h $(am__append_73) sockets.h \
+ sockets.c $(am__append_74) stat-time.c statat.c \
+ $(am__append_75) $(am__append_76) stdopen.c $(am__append_77) \
+ $(am__append_78) $(am__append_79) $(am__append_80) \
+ $(am__append_81) $(am__append_82) $(am__append_83) \
+ $(am__append_84) strnlen1.h strnlen1.c $(am__append_85) \
sys_socket.c tempname.c glthread/threadlib.c timespec.c \
- unistd.c dup-safer.c fd-safer.c pipe-safer.c $(am__append_84) \
- $(am__append_85) $(am__append_86) utimens.c verror.h verror.c \
- $(am__append_87) wctype-h.c $(am__append_88) $(am__append_89) \
- $(am__append_90) $(am__append_91) $(am__append_92) \
- $(am__append_93) xmalloc.c xalloc-die.c xgetcwd.c gl_xlist.h \
+ unistd.c dup-safer.c fd-safer.c pipe-safer.c $(am__append_86) \
+ $(am__append_87) $(am__append_88) utimens.c verror.h verror.c \
+ $(am__append_89) wctype-h.c $(am__append_90) $(am__append_91) \
+ $(am__append_92) $(am__append_93) $(am__append_94) \
+ $(am__append_95) xmalloc.c xalloc-die.c xgetcwd.c gl_xlist.h \
gl_xlist.c gl_xmap.h gl_xmap.c gl_xset.h gl_xset.c xsize.h \
xsize.c xstdopen.c xstrndup.h xstrndup.c xvasprintf.h \
xvasprintf.c xasprintf.c
@@ -2441,8 +2454,8 @@ EXTRA_libgnu_la_SOURCES = alloca.c calloc.c calloc.c stripslash.c \
libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LIBSOCKET) \
$(LIBTHREAD) $(LIB_CLOCK_GETTIME) $(LIB_GETLOGIN) \
$(LIB_GETRANDOM) $(LIB_HARD_LOCALE) $(LIB_MBRTOWC) \
- $(LIB_NANOSLEEP) $(LIB_SELECT) $(LIB_SETLOCALE_NULL) \
- $(LTLIBINTL)
+ $(LIB_NANOSLEEP) $(LIB_PTHREAD_SIGMASK) $(LIB_SELECT) \
+ $(LIB_SETLOCALE_NULL) $(LTLIBINTL)
# Use this preprocessor expression to decide whether #include_next works.
# Do not rely on a 'configure'-time test for this, since the expression
@@ -2707,6 +2720,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-printf-args.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-printf-parse.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-progname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-pselect.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-pthread_sigmask.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-raise.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-rawmemchr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_la-readdir.Plo@am__quote@ # am--include-marker
@@ -3585,6 +3600,20 @@ libgnu_la-progname.lo: progname.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-progname.lo `test -f 'progname.c' || echo '$(srcdir)/'`progname.c
+libgnu_la-pselect.lo: pselect.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-pselect.lo -MD -MP -MF $(DEPDIR)/libgnu_la-pselect.Tpo -c -o libgnu_la-pselect.lo `test -f 'pselect.c' || echo '$(srcdir)/'`pselect.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-pselect.Tpo $(DEPDIR)/libgnu_la-pselect.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pselect.c' object='libgnu_la-pselect.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-pselect.lo `test -f 'pselect.c' || echo '$(srcdir)/'`pselect.c
+
+libgnu_la-pthread_sigmask.lo: pthread_sigmask.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-pthread_sigmask.lo -MD -MP -MF $(DEPDIR)/libgnu_la-pthread_sigmask.Tpo -c -o libgnu_la-pthread_sigmask.lo `test -f 'pthread_sigmask.c' || echo '$(srcdir)/'`pthread_sigmask.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-pthread_sigmask.Tpo $(DEPDIR)/libgnu_la-pthread_sigmask.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pthread_sigmask.c' object='libgnu_la-pthread_sigmask.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -c -o libgnu_la-pthread_sigmask.lo `test -f 'pthread_sigmask.c' || echo '$(srcdir)/'`pthread_sigmask.c
+
libgnu_la-raise.lo: raise.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_la_CFLAGS) $(CFLAGS) -MT libgnu_la-raise.lo -MD -MP -MF $(DEPDIR)/libgnu_la-raise.Tpo -c -o libgnu_la-raise.lo `test -f 'raise.c' || echo '$(srcdir)/'`raise.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_la-raise.Tpo $(DEPDIR)/libgnu_la-raise.Plo
@@ -4628,6 +4657,8 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/libgnu_la-printf-args.Plo
-rm -f ./$(DEPDIR)/libgnu_la-printf-parse.Plo
-rm -f ./$(DEPDIR)/libgnu_la-progname.Plo
+ -rm -f ./$(DEPDIR)/libgnu_la-pselect.Plo
+ -rm -f ./$(DEPDIR)/libgnu_la-pthread_sigmask.Plo
-rm -f ./$(DEPDIR)/libgnu_la-raise.Plo
-rm -f ./$(DEPDIR)/libgnu_la-rawmemchr.Plo
-rm -f ./$(DEPDIR)/libgnu_la-readdir.Plo
@@ -4883,6 +4914,8 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/libgnu_la-printf-args.Plo
-rm -f ./$(DEPDIR)/libgnu_la-printf-parse.Plo
-rm -f ./$(DEPDIR)/libgnu_la-progname.Plo
+ -rm -f ./$(DEPDIR)/libgnu_la-pselect.Plo
+ -rm -f ./$(DEPDIR)/libgnu_la-pthread_sigmask.Plo
-rm -f ./$(DEPDIR)/libgnu_la-raise.Plo
-rm -f ./$(DEPDIR)/libgnu_la-rawmemchr.Plo
-rm -f ./$(DEPDIR)/libgnu_la-readdir.Plo
diff --git a/gl/lib/cdefs.h b/gl/lib/cdefs.h
index 44d3826b..cb251450 100644
--- a/gl/lib/cdefs.h
+++ b/gl/lib/cdefs.h
@@ -41,7 +41,9 @@
Similarly for __has_builtin, etc. */
#if (defined __has_attribute \
&& (!defined __clang_minor__ \
- || 3 < __clang_major__ + (5 <= __clang_minor__)))
+ || (defined __apple_build_version__ \
+ ? 6000000 <= __apple_build_version__ \
+ : 3 < __clang_major__ + (5 <= __clang_minor__))))
# define __glibc_has_attribute(attr) __has_attribute (attr)
#else
# define __glibc_has_attribute(attr) 0
diff --git a/gl/lib/nanosleep.c b/gl/lib/nanosleep.c
index 5294c646..446794ed 100644
--- a/gl/lib/nanosleep.c
+++ b/gl/lib/nanosleep.c
@@ -23,7 +23,6 @@
#include <time.h>
#include "intprops.h"
-#include "sig-handler.h"
#include "verify.h"
#include <stdbool.h>
@@ -32,7 +31,6 @@
#include <sys/select.h>
#include <signal.h>
-#include <sys/time.h>
#include <errno.h>
#include <unistd.h>
@@ -181,45 +179,9 @@ nanosleep (const struct timespec *requested_delay,
}
#else
-/* Unix platforms lacking nanosleep. */
-
-/* Some systems (MSDOS) don't have SIGCONT.
- Using SIGTERM here turns the signal-handling code below
- into a no-op on such systems. */
-# ifndef SIGCONT
-# define SIGCONT SIGTERM
-# endif
-
-static sig_atomic_t volatile suspended;
-
-/* Handle SIGCONT. */
-
-static _GL_ASYNC_SAFE void
-sighandler (int sig)
-{
- suspended = 1;
-}
-
-/* Suspend execution for at least *TS_DELAY seconds. */
-
-static int
-my_usleep (const struct timespec *ts_delay)
-{
- struct timeval tv_delay;
- tv_delay.tv_sec = ts_delay->tv_sec;
- tv_delay.tv_usec = (ts_delay->tv_nsec + 999) / 1000;
- if (tv_delay.tv_usec == 1000000)
- {
- if (tv_delay.tv_sec == TYPE_MAXIMUM (time_t))
- tv_delay.tv_usec = 1000000 - 1; /* close enough */
- else
- {
- tv_delay.tv_sec++;
- tv_delay.tv_usec = 0;
- }
- }
- return select (0, NULL, NULL, NULL, &tv_delay);
-}
+/* Other platforms lacking nanosleep.
+ It's not clear whether these are still practical porting targets.
+ For now, just fall back on pselect. */
/* Suspend execution for at least *REQUESTED_DELAY seconds. The
*REMAINING_DELAY part isn't implemented yet. */
@@ -228,49 +190,6 @@ int
nanosleep (const struct timespec *requested_delay,
struct timespec *remaining_delay)
{
- static bool initialized;
-
- if (requested_delay->tv_nsec < 0 || BILLION <= requested_delay->tv_nsec)
- {
- errno = EINVAL;
- return -1;
- }
-
- /* set up sig handler */
- if (! initialized)
- {
- struct sigaction oldact;
-
- sigaction (SIGCONT, NULL, &oldact);
- if (get_handler (&oldact) != SIG_IGN)
- {
- struct sigaction newact;
-
- newact.sa_handler = sighandler;
- sigemptyset (&newact.sa_mask);
- newact.sa_flags = 0;
- sigaction (SIGCONT, &newact, NULL);
- }
- initialized = true;
- }
-
- suspended = 0;
-
- if (my_usleep (requested_delay) == -1)
- {
- if (suspended)
- {
- /* Calculate time remaining. */
- /* FIXME: the code in sleep doesn't use this, so there's no
- rush to implement it. */
-
- errno = EINTR;
- }
- return -1;
- }
-
- /* FIXME: Restore sig handler? */
-
- return 0;
+ return pselect (0, NULL, NULL, NULL, requested_delay, NULL);
}
#endif
diff --git a/gl/lib/pselect.c b/gl/lib/pselect.c
new file mode 100644
index 00000000..a1eca0c6
--- /dev/null
+++ b/gl/lib/pselect.c
@@ -0,0 +1,110 @@
+/* pselect - synchronous I/O multiplexing
+
+ Copyright 2011-2022 Free Software Foundation, Inc.
+
+ This file is part of gnulib.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* written by Paul Eggert */
+
+#include <config.h>
+
+#include <sys/select.h>
+
+#include <errno.h>
+#include <signal.h>
+
+/* Examine the size-NFDS file descriptor sets in RFDS, WFDS, and XFDS
+ to see whether some of their descriptors are ready for reading,
+ ready for writing, or have exceptions pending. Wait for at most
+ TIMEOUT seconds, and use signal mask SIGMASK while waiting. A null
+ pointer parameter stands for no descriptors, an infinite timeout,
+ or an unaffected signal mask. */
+
+#if !HAVE_PSELECT
+
+int
+pselect (int nfds, fd_set *restrict rfds,
+ fd_set *restrict wfds, fd_set *restrict xfds,
+ struct timespec const *restrict timeout,
+ sigset_t const *restrict sigmask)
+{
+ int select_result;
+ sigset_t origmask;
+ struct timeval tv, *tvp;
+
+ if (timeout)
+ {
+ if (! (0 <= timeout->tv_nsec && timeout->tv_nsec < 1000000000))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+ tv.tv_sec = timeout->tv_sec;
+ tv.tv_usec = (timeout->tv_nsec + 999) / 1000;
+ tvp = &tv;
+ }
+ else
+ tvp = NULL;
+
+ /* Signal mask munging should be atomic, but this is the best we can
+ do in this emulation. */
+ if (sigmask)
+ pthread_sigmask (SIG_SETMASK, sigmask, &origmask);
+
+ select_result = select (nfds, rfds, wfds, xfds, tvp);
+
+ if (sigmask)
+ {
+ int select_errno = errno;
+ pthread_sigmask (SIG_SETMASK, &origmask, NULL);
+ errno = select_errno;
+ }
+
+ return select_result;
+}
+
+#else /* HAVE_PSELECT */
+# include <unistd.h>
+# undef pselect
+
+int
+rpl_pselect (int nfds, fd_set *restrict rfds,
+ fd_set *restrict wfds, fd_set *restrict xfds,
+ struct timespec const *restrict timeout,
+ sigset_t const *restrict sigmask)
+{
+ int i;
+
+ /* FreeBSD 8.2 has a bug: it does not always detect invalid fds. */
+ if (nfds < 0 || nfds > FD_SETSIZE)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ for (i = 0; i < nfds; i++)
+ {
+ if (((rfds && FD_ISSET (i, rfds))
+ || (wfds && FD_ISSET (i, wfds))
+ || (xfds && FD_ISSET (i, xfds)))
+ && dup2 (i, i) != i)
+ return -1;
+ }
+
+ return pselect (nfds, rfds, wfds, xfds, timeout, sigmask);
+}
+
+#endif
diff --git a/gl/lib/pthread_sigmask.c b/gl/lib/pthread_sigmask.c
new file mode 100644
index 00000000..cd4eb807
--- /dev/null
+++ b/gl/lib/pthread_sigmask.c
@@ -0,0 +1,92 @@
+/* POSIX compatible signal blocking for threads.
+ Copyright (C) 2011-2022 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <signal.h>
+
+#include <errno.h>
+#include <stddef.h>
+
+#if PTHREAD_SIGMASK_INEFFECTIVE
+# include <string.h>
+#endif
+
+#if PTHREAD_SIGMASK_UNBLOCK_BUG
+# include <unistd.h>
+#endif
+
+int
+pthread_sigmask (int how, const sigset_t *new_mask, sigset_t *old_mask)
+#undef pthread_sigmask
+{
+#if HAVE_PTHREAD_SIGMASK
+ int ret;
+
+# if PTHREAD_SIGMASK_INEFFECTIVE
+ sigset_t omask, omask_copy;
+ sigset_t *old_mask_ptr = &omask;
+ sigemptyset (&omask);
+ /* Add a signal unlikely to be blocked, so that OMASK_COPY
+ is unlikely to match the actual mask. */
+ sigaddset (&omask, SIGILL);
+ memcpy (&omask_copy, &omask, sizeof omask);
+# else
+ sigset_t *old_mask_ptr = old_mask;
+# endif
+
+ ret = pthread_sigmask (how, new_mask, old_mask_ptr);
+
+# if PTHREAD_SIGMASK_INEFFECTIVE
+ if (ret == 0)
+ {
+ /* Detect whether pthread_sigmask is currently ineffective.
+ Don't cache the information: libpthread.so could be dynamically
+ loaded after the program started and after pthread_sigmask was
+ called for the first time. */
+ if (memcmp (&omask_copy, &omask, sizeof omask) == 0
+ && pthread_sigmask (1729, &omask_copy, NULL) == 0)
+ {
+ /* pthread_sigmask is currently ineffective. The program is not
+ linked to -lpthread. So use sigprocmask instead. */
+ return (sigprocmask (how, new_mask, old_mask) < 0 ? errno : 0);
+ }
+
+ if (old_mask)
+ memcpy (old_mask, &omask, sizeof omask);
+ }
+# endif
+# if PTHREAD_SIGMASK_FAILS_WITH_ERRNO
+ if (ret == -1)
+ return errno;
+# endif
+# if PTHREAD_SIGMASK_UNBLOCK_BUG
+ if (ret == 0
+ && new_mask != NULL
+ && (how == SIG_UNBLOCK || how == SIG_SETMASK))
+ {
+ /* Give the OS the opportunity to raise signals that were pending before
+ the pthread_sigmask call and have now been unblocked. */
+ usleep (1);
+ }
+# endif
+ return ret;
+#else
+ int ret = sigprocmask (how, new_mask, old_mask);
+ return (ret < 0 ? errno : 0);
+#endif
+}
diff --git a/gl/lib/string.in.h b/gl/lib/string.in.h
index 03e6a17a..c9432948 100644
--- a/gl/lib/string.in.h
+++ b/gl/lib/string.in.h
@@ -563,22 +563,35 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
# undef strndup
# define strndup rpl_strndup
# endif
-_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n)
- _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (strndup, char *,
+ (char const *__s, size_t __n)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
# else
-# if ! @HAVE_DECL_STRNDUP@
-_GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n)
- _GL_ARG_NONNULL ((1)));
+# if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11
+_GL_FUNCDECL_SYS (strndup, char *,
+ (char const *__s, size_t __n)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
# endif
_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
# endif
_GL_CXXALIASWARN (strndup);
-#elif defined GNULIB_POSIXCHECK
-# undef strndup
-# if HAVE_RAW_DECL_STRNDUP
+#else
+# if __GNUC__ >= 11
+/* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */
+_GL_FUNCDECL_SYS (strndup, char *,
+ (char const *__s, size_t __n)
+ _GL_ARG_NONNULL ((1))
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
+# endif
+# if defined GNULIB_POSIXCHECK
+# undef strndup
+# if HAVE_RAW_DECL_STRNDUP
_GL_WARN_ON_USE (strndup, "strndup is unportable - "
"use gnulib module strndup for portability");
+# endif
# endif
#endif
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4
index dbc40796..c5ced04f 100644
--- a/gl/m4/gnulib-common.m4
+++ b/gl/m4/gnulib-common.m4
@@ -69,7 +69,9 @@ AC_DEFUN([gl_COMMON_BODY], [
[/* Attributes. */
#if (defined __has_attribute \
&& (!defined __clang_minor__ \
- || 3 < __clang_major__ + (5 <= __clang_minor__)))
+ || (defined __apple_build_version__ \
+ ? 6000000 <= __apple_build_version__ \
+ : 3 < __clang_major__ + (5 <= __clang_minor__))))
# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
#else
# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4
index fb723bf0..431d879e 100644
--- a/gl/m4/gnulib-comp.m4
+++ b/gl/m4/gnulib-comp.m4
@@ -42,7 +42,6 @@ AC_DEFUN([gl_EARLY],
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_PROG_AR_RANLIB])
- AC_REQUIRE([AM_PROG_CC_C_O])
# Code from module absolute-header:
# Code from module alloca:
# Code from module alloca-opt:
@@ -186,6 +185,8 @@ AC_DEFUN([gl_EARLY],
# Code from module pathmax:
# Code from module pipe-posix:
# Code from module progname:
+ # Code from module pselect:
+ # Code from module pthread_sigmask:
# Code from module raise:
# Code from module rawmemchr:
# Code from module rbtree-list:
@@ -730,9 +731,6 @@ AC_SUBST([LTALLOCA])
gl_FUNC_NANOSLEEP
gl_CONDITIONAL([GL_COND_OBJ_NANOSLEEP],
[test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1])
- AM_COND_IF([GL_COND_OBJ_NANOSLEEP], [
- gl_PREREQ_NANOSLEEP
- ])
gl_TIME_MODULE_INDICATOR([nanosleep])
gl_FUNC_NL_LANGINFO
gl_CONDITIONAL([GL_COND_OBJ_NL_LANGINFO],
@@ -778,6 +776,17 @@ AC_SUBST([LTALLOCA])
gl_UNISTD_MODULE_INDICATOR([pipe])
AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+ gl_FUNC_PSELECT
+ gl_CONDITIONAL([GL_COND_OBJ_PSELECT],
+ [test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1])
+ gl_SYS_SELECT_MODULE_INDICATOR([pselect])
+ gl_FUNC_PTHREAD_SIGMASK
+ gl_CONDITIONAL([GL_COND_OBJ_PTHREAD_SIGMASK],
+ [test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1])
+ AM_COND_IF([GL_COND_OBJ_PTHREAD_SIGMASK], [
+ gl_PREREQ_PTHREAD_SIGMASK
+ ])
+ gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask])
gl_FUNC_RAISE
gl_CONDITIONAL([GL_COND_OBJ_RAISE],
[test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1])
@@ -1535,6 +1544,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/printf-parse.h
lib/progname.c
lib/progname.h
+ lib/pselect.c
+ lib/pthread_sigmask.c
lib/raise.c
lib/rawmemchr.c
lib/rawmemchr.valgrind
@@ -1797,7 +1808,9 @@ AC_DEFUN([gl_FILE_LIST], [
m4/pid_t.m4
m4/pipe.m4
m4/printf.m4
+ m4/pselect.m4
m4/pthread_rwlock_rdlock.m4
+ m4/pthread_sigmask.m4
m4/raise.m4
m4/rawmemchr.m4
m4/readdir.m4
diff --git a/gl/m4/nanosleep.m4 b/gl/m4/nanosleep.m4
index 6a51f28e..1964b1ea 100644
--- a/gl/m4/nanosleep.m4
+++ b/gl/m4/nanosleep.m4
@@ -1,4 +1,4 @@
-# serial 40
+# serial 41
dnl From Jim Meyering.
dnl Check for the nanosleep function.
@@ -19,9 +19,6 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
dnl Persuade glibc and Solaris <time.h> to declare nanosleep.
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_HEADERS_ONCE([sys/time.h])
- AC_REQUIRE([gl_FUNC_SELECT])
-
AC_CHECK_DECLS_ONCE([alarm])
nanosleep_save_libs=$LIBS
@@ -53,9 +50,6 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
#include <errno.h>
#include <limits.h>
#include <signal.h>
- #if HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
#include <time.h>
#include <unistd.h>
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
@@ -135,15 +129,6 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], [1],
[Define to 1 if nanosleep mishandles large arguments.])
;;
- *)
- # The replacement uses select(). Add $LIBSOCKET to $LIB_NANOSLEEP.
- for ac_lib in $LIBSOCKET; do
- case " $LIB_NANOSLEEP " in
- *" $ac_lib "*) ;;
- *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";;
- esac
- done
- ;;
esac
;;
esac
@@ -152,10 +137,3 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
fi
LIBS=$nanosleep_save_libs
])
-
-# Prerequisites of lib/nanosleep.c.
-AC_DEFUN([gl_PREREQ_NANOSLEEP],
-[
- AC_CHECK_HEADERS_ONCE([sys/select.h])
- gl_PREREQ_SIG_HANDLER_H
-])
diff --git a/gl/m4/pselect.m4 b/gl/m4/pselect.m4
new file mode 100644
index 00000000..86114416
--- /dev/null
+++ b/gl/m4/pselect.m4
@@ -0,0 +1,73 @@
+# pselect.m4 serial 10
+dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_PSELECT],
+[
+ AC_REQUIRE([gl_SYS_SELECT_H])
+ AC_REQUIRE([AC_C_RESTRICT])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CHECK_FUNCS_ONCE([pselect])
+
+ if test $ac_cv_func_pselect = yes; then
+ AC_CACHE_CHECK([whether signature of pselect conforms to POSIX],
+ [gl_cv_sig_pselect],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/select.h>
+ ]],
+ [[int (*p) (int, fd_set *, fd_set *, fd_set *restrict,
+ struct timespec const *restrict,
+ sigset_t const *restrict) = pselect;
+ return !p;]])],
+ [gl_cv_sig_pselect=yes],
+ [gl_cv_sig_pselect=no])])
+
+ dnl On FreeBSD 8.2, pselect() doesn't always reject bad fds.
+ AC_CACHE_CHECK([whether pselect detects invalid fds],
+ [gl_cv_func_pselect_detects_ebadf],
+ [
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <sys/time.h>
+#if HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+#include <unistd.h>
+#include <errno.h>
+]GL_MDA_DEFINES],
+[[
+ fd_set set;
+ dup2(0, 16);
+ FD_ZERO(&set);
+ FD_SET(16, &set);
+ close(16);
+ struct timespec timeout;
+ timeout.tv_sec = 0;
+ timeout.tv_nsec = 5000;
+ return pselect (17, &set, NULL, NULL, &timeout, NULL) != -1 || errno != EBADF;
+]])], [gl_cv_func_pselect_detects_ebadf=yes],
+ [gl_cv_func_pselect_detects_ebadf=no],
+ [
+ case "$host_os" in
+ # Guess yes on Linux systems.
+ linux-* | linux) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
+ # Guess yes on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
+ # If we don't know, obey --enable-cross-guesses.
+ *) gl_cv_func_pselect_detects_ebadf="$gl_cross_guess_normal" ;;
+ esac
+ ])
+ ])
+ case $gl_cv_func_pselect_detects_ebadf in
+ *yes) ;;
+ *) REPLACE_PSELECT=1 ;;
+ esac
+ fi
+
+ if test $ac_cv_func_pselect = no || test $gl_cv_sig_pselect = no; then
+ REPLACE_PSELECT=1
+ fi
+])
diff --git a/gl/m4/pthread_sigmask.m4 b/gl/m4/pthread_sigmask.m4
new file mode 100644
index 00000000..0aa8c53f
--- /dev/null
+++ b/gl/m4/pthread_sigmask.m4
@@ -0,0 +1,274 @@
+# pthread_sigmask.m4 serial 21
+dnl Copyright (C) 2011-2022 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
+[
+ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+
+ AC_CHECK_FUNCS_ONCE([pthread_sigmask])
+
+ dnl On MinGW pthread_sigmask is just a macro which always returns 0.
+ dnl It does not exist as a real function, which is required by POSIX.
+ AC_CACHE_CHECK([whether pthread_sigmask is a macro],
+ [gl_cv_func_pthread_sigmask_macro],
+ [AC_EGREP_CPP([headers_define_pthread_sigmask], [
+#include <pthread.h>
+#include <signal.h>
+#ifdef pthread_sigmask
+ headers_define_pthread_sigmask
+#endif],
+ [gl_cv_func_pthread_sigmask_macro=yes],
+ [gl_cv_func_pthread_sigmask_macro=no])
+ ])
+
+ LIB_PTHREAD_SIGMASK=
+
+ if test $gl_cv_func_pthread_sigmask_macro = yes; then
+ dnl pthread_sigmask is a dummy macro.
+ HAVE_PTHREAD_SIGMASK=0
+ dnl Make sure to '#undef pthread_sigmask' before defining it.
+ REPLACE_PTHREAD_SIGMASK=1
+ else
+ dnl Test whether the gnulib module 'threadlib' is in use.
+ dnl Some packages like Emacs use --avoid=threadlib.
+ dnl Write the symbol in such a way that it does not cause 'aclocal' to pick
+ dnl the threadlib.m4 file that is installed in $PREFIX/share/aclocal/.
+ m4_ifdef([gl_][THREADLIB], [
+ AC_REQUIRE([gl_][THREADLIB])
+
+ if test "$gl_threads_api" = posix; then
+ if test $ac_cv_func_pthread_sigmask = yes; then
+ dnl pthread_sigmask is available without -lpthread.
+ :
+ else
+ if test -n "$LIBMULTITHREAD"; then
+ AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD],
+ [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD],
+ [gl_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBMULTITHREAD"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <pthread.h>
+ #include <signal.h>
+ ]],
+ [[return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);]])
+ ],
+ [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes],
+ [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no])
+ LIBS="$gl_save_LIBS"
+ ])
+ if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then
+ dnl pthread_sigmask is available with -pthread or -lpthread.
+ LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD"
+ else
+ dnl pthread_sigmask is not available at all.
+ HAVE_PTHREAD_SIGMASK=0
+ fi
+ else
+ dnl pthread_sigmask is not available at all.
+ HAVE_PTHREAD_SIGMASK=0
+ fi
+ fi
+ else
+ dnl pthread_sigmask may exist but does not interoperate with the chosen
+ dnl multithreading facility.
+ if test $ac_cv_func_pthread_sigmask = yes; then
+ REPLACE_PTHREAD_SIGMASK=1
+ else
+ HAVE_PTHREAD_SIGMASK=0
+ fi
+ fi
+ ], [
+ dnl The module 'threadlib' is not in use, due to --avoid=threadlib being
+ dnl specified.
+ dnl The package either has prepared CPPFLAGS and LIBS for use of
+ dnl POSIX:2008 threads, or wants to build single-threaded programs.
+ if test $ac_cv_func_pthread_sigmask = yes; then
+ dnl pthread_sigmask exists and does not require extra libraries.
+ dnl Assume that it is declared.
+ :
+ else
+ dnl pthread_sigmask either does not exist or needs extra libraries.
+ HAVE_PTHREAD_SIGMASK=0
+ dnl Define the symbol rpl_pthread_sigmask, not pthread_sigmask,
+ dnl so as to not accidentally override the system's pthread_sigmask
+ dnl symbol from libpthread. This is necessary on IRIX 6.5.
+ REPLACE_PTHREAD_SIGMASK=1
+ fi
+ ])
+ fi
+
+ AC_SUBST([LIB_PTHREAD_SIGMASK])
+ dnl We don't need a variable LTLIB_PTHREAD_SIGMASK, because when
+ dnl "$gl_threads_api" = posix, $LTLIBMULTITHREAD and $LIBMULTITHREAD are the
+ dnl same.
+
+ dnl Now test for some bugs in the system function.
+ if test $HAVE_PTHREAD_SIGMASK = 1; then
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl On FreeBSD 13.0, MidnightBSD 1.1, HP-UX 11.31, Solaris 9, in programs
+ dnl that are not linked with -lpthread, the pthread_sigmask() function
+ dnl always returns 0 and has no effect.
+ if test -z "$LIB_PTHREAD_SIGMASK"; then
+ case " $LIBS " in
+ *' -pthread '*) ;;
+ *' -lpthread '*) ;;
+ *)
+ AC_CACHE_CHECK([whether pthread_sigmask works without -lpthread],
+ [gl_cv_func_pthread_sigmask_in_libc_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <pthread.h>
+ #include <signal.h>
+ #include <stddef.h>
+ int main ()
+ {
+ sigset_t set;
+ sigemptyset (&set);
+ return pthread_sigmask (1729, &set, NULL) != 0;
+ }]])],
+ [gl_cv_func_pthread_sigmask_in_libc_works=no],
+ [gl_cv_func_pthread_sigmask_in_libc_works=yes],
+ [
+ changequote(,)dnl
+ case "$host_os" in
+ freebsd* | midnightbsd* | hpux* | solaris | solaris2.[2-9]*)
+ gl_cv_func_pthread_sigmask_in_libc_works="guessing no";;
+ *)
+ gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";;
+ esac
+ changequote([,])dnl
+ ])
+ ])
+ case "$gl_cv_func_pthread_sigmask_in_libc_works" in
+ *no)
+ REPLACE_PTHREAD_SIGMASK=1
+ AC_DEFINE([PTHREAD_SIGMASK_INEFFECTIVE], [1],
+ [Define to 1 if pthread_sigmask may return 0 and have no effect.])
+ ;;
+ esac;;
+ esac
+ fi
+
+ dnl On Cygwin 1.7.5, the pthread_sigmask() has a wrong return value
+ dnl convention: Upon failure, it returns -1 and sets errno.
+ AC_CACHE_CHECK([whether pthread_sigmask returns error numbers],
+ [gl_cv_func_pthread_sigmask_return_works],
+ [
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIB_PTHREAD_SIGMASK"
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <pthread.h>
+#include <signal.h>
+#include <stddef.h>
+int main ()
+{
+ sigset_t set;
+ sigemptyset (&set);
+ if (pthread_sigmask (1729, &set, NULL) == -1)
+ return 1;
+ return 0;
+}]])],
+ [gl_cv_func_pthread_sigmask_return_works=yes],
+ [gl_cv_func_pthread_sigmask_return_works=no],
+ [case "$host_os" in
+ cygwin*)
+ gl_cv_func_pthread_sigmask_return_works="guessing no";;
+ *)
+ gl_cv_func_pthread_sigmask_return_works="guessing yes";;
+ esac
+ ])
+ LIBS="$gl_save_LIBS"
+ ])
+ case "$gl_cv_func_pthread_sigmask_return_works" in
+ *no)
+ REPLACE_PTHREAD_SIGMASK=1
+ AC_DEFINE([PTHREAD_SIGMASK_FAILS_WITH_ERRNO], [1],
+ [Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.])
+ ;;
+ esac
+
+ dnl On IRIX 6.5, in a single-threaded program, pending signals are not
+ dnl immediately delivered when they are unblocked through pthread_sigmask,
+ dnl only a little while later.
+ AC_CACHE_CHECK([whether pthread_sigmask unblocks signals correctly],
+ [gl_cv_func_pthread_sigmask_unblock_works],
+ [
+ case "$host_os" in
+ irix*)
+ gl_cv_func_pthread_sigmask_unblock_works="guessing no";;
+ *)
+ gl_cv_func_pthread_sigmask_unblock_works="guessing yes";;
+ esac
+ m4_ifdef([gl_][THREADLIB],
+ [dnl Link against $LIBMULTITHREAD, not only $LIB_PTHREAD_SIGMASK.
+ dnl Otherwise we get a false positive on those platforms where
+ dnl $gl_cv_func_pthread_sigmask_in_libc_works is "no".
+ gl_save_LIBS=$LIBS
+ LIBS="$LIBS $LIBMULTITHREAD"])
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <pthread.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+]GL_MDA_DEFINES[
+static volatile int sigint_occurred;
+static void
+sigint_handler (int sig)
+{
+ sigint_occurred++;
+}
+int main ()
+{
+ sigset_t set;
+ int pid = getpid ();
+ char command[80];
+ signal (SIGINT, sigint_handler);
+ sigemptyset (&set);
+ sigaddset (&set, SIGINT);
+ if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0))
+ return 1;
+ sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+ if (!(system (command) == 0))
+ return 2;
+ sleep (2);
+ if (!(sigint_occurred == 0))
+ return 3;
+ if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0))
+ return 4;
+ if (!(sigint_occurred == 1)) /* This fails on IRIX. */
+ return 5;
+ return 0;
+}]])],
+ [:],
+ [gl_cv_func_pthread_sigmask_unblock_works=no],
+ [:])
+ m4_ifdef([gl_][THREADLIB], [LIBS=$gl_save_LIBS])
+ ])
+ case "$gl_cv_func_pthread_sigmask_unblock_works" in
+ *no)
+ REPLACE_PTHREAD_SIGMASK=1
+ AC_DEFINE([PTHREAD_SIGMASK_UNBLOCK_BUG], [1],
+ [Define to 1 if pthread_sigmask() unblocks signals incorrectly.])
+ ;;
+ esac
+ fi
+])
+
+# Prerequisite of lib/pthread_sigmask.c.
+AC_DEFUN([gl_PREREQ_PTHREAD_SIGMASK],
+[
+ if test $HAVE_PTHREAD_SIGMASK = 1; then
+ AC_DEFINE([HAVE_PTHREAD_SIGMASK], [1],
+ [Define to 1 if the pthread_sigmask function can be used (despite bugs).])
+ fi
+])
diff --git a/gl/po/POTFILES.in b/gl/po/POTFILES.in
index e7453095..4e22461c 100644
--- a/gl/po/POTFILES.in
+++ b/gl/po/POTFILES.in
@@ -260,6 +260,8 @@ gl/lib/printf-parse.c
gl/lib/printf-parse.h
gl/lib/progname.c
gl/lib/progname.h
+gl/lib/pselect.c
+gl/lib/pthread_sigmask.c
gl/lib/raise.c
gl/lib/rawmemchr.c
gl/lib/rawmemchr.valgrind
diff --git a/gl/po/af.po b/gl/po/af.po
index 7d57fc1f..3f97c982 100644
--- a/gl/po/af.po
+++ b/gl/po/af.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: coreutils 5.2.1\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2004-03-17 11:58+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/gl/po/be.po b/gl/po/be.po
index e36d937b..49593534 100644
--- a/gl/po/be.po
+++ b/gl/po/be.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: coreutils 5.0.91\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2003-10-30 01:10+0200\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: KBabel 1.0.2\n"
#: gl/lib/argp-help.c:162
diff --git a/gl/po/bg.po b/gl/po/bg.po
index e64e8c09..5cbdb596 100644
--- a/gl/po/bg.po
+++ b/gl/po/bg.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2020-03-10 09:45+0100\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
diff --git a/gl/po/ca.po b/gl/po/ca.po
index ee5994cb..923a3c3a 100644
--- a/gl/po/ca.po
+++ b/gl/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mailutils 0.6.90\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2005-05-21 04:10+0200\n"
"Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/gl/po/cs.po b/gl/po/cs.po
index 97461f42..2f4f4585 100644
--- a/gl/po/cs.po
+++ b/gl/po/cs.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2011-12-04 08:50+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/gl/po/da.po b/gl/po/da.po
index cd0b70d5..6951ebfc 100644
--- a/gl/po/da.po
+++ b/gl/po/da.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 2.0.0.3462.e9796\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2011-01-20 22:11+0100\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/gl/po/de.po b/gl/po/de.po
index f267d88e..0312609f 100644
--- a/gl/po/de.po
+++ b/gl/po/de.po
@@ -35,7 +35,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gnulib-4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-22 20:00+0200\n"
"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
diff --git a/gl/po/el.po b/gl/po/el.po
index 91185146..44c348f8 100644
--- a/gl/po/el.po
+++ b/gl/po/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2012-03-11 11:25+0100\n"
"Last-Translator: Simos Xenitellis <simos.lists@googlemail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/gl/po/eo.po b/gl/po/eo.po
index 74a5c167..7ba7d00f 100644
--- a/gl/po/eo.po
+++ b/gl/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-19 18:26-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/gl/po/es.po b/gl/po/es.po
index 0f90a138..4e3f244e 100644
--- a/gl/po/es.po
+++ b/gl/po/es.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2011-08-24 11:23-0500\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
diff --git a/gl/po/et.po b/gl/po/et.po
index 1854fbdc..a95384f8 100644
--- a/gl/po/et.po
+++ b/gl/po/et.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 2.0.0.3462.e9796\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2011-05-19 15:10+0300\n"
"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
"Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
diff --git a/gl/po/eu.po b/gl/po/eu.po
index 49191936..a86eccf9 100644
--- a/gl/po/eu.po
+++ b/gl/po/eu.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: coreutils-5.2.1\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2005-01-04 20:27+0100\n"
"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/gl/po/fi.po b/gl/po/fi.po
index dd5289de..f7accabe 100644
--- a/gl/po/fi.po
+++ b/gl/po/fi.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-12-26 12:28+0200\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/gl/po/fr.po b/gl/po/fr.po
index ba3e1312..9144eac8 100644
--- a/gl/po/fr.po
+++ b/gl/po/fr.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib-4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-21 20:15+0200\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
diff --git a/gl/po/ga.po b/gl/po/ga.po
index 5937cf22..e9de21a6 100644
--- a/gl/po/ga.po
+++ b/gl/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 1.1\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2007-07-20 12:24-0600\n"
"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
diff --git a/gl/po/gl.po b/gl/po/gl.po
index 5107ba47..2ea167fa 100644
--- a/gl/po/gl.po
+++ b/gl/po/gl.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2012-11-11 13:26+0200\n"
"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/gl/po/hu.po b/gl/po/hu.po
index 8f9f4cdd..21ef6fc0 100644
--- a/gl/po/hu.po
+++ b/gl/po/hu.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2014-06-25 19:51+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
diff --git a/gl/po/it.po b/gl/po/it.po
index 324b5764..e0fb00f6 100644
--- a/gl/po/it.po
+++ b/gl/po/it.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib-4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-21 14:07+0200\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/gl/po/ja.po b/gl/po/ja.po
index a8a65276..5410dd65 100644
--- a/gl/po/ja.po
+++ b/gl/po/ja.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2011-09-02 18:39+0900\n"
"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/gl/po/ko.po b/gl/po/ko.po
index ade0f656..2b1fda6c 100644
--- a/gl/po/ko.po
+++ b/gl/po/ko.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU textutils 2.0.22\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2002-07-22 20:02+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n"
diff --git a/gl/po/man-db-gnulib.pot b/gl/po/man-db-gnulib.pot
index 803b7e4f..c739083b 100644
--- a/gl/po/man-db-gnulib.pot
+++ b/gl/po/man-db-gnulib.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: man-db 2.10.1\n"
+"Project-Id-Version: man-db 2.10.2\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/gl/po/ms.po b/gl/po/ms.po
index c232e7b8..30c0188b 100644
--- a/gl/po/ms.po
+++ b/gl/po/ms.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: coreutils 5.0.90\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2003-08-10 16:00+0800\n"
"Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
diff --git a/gl/po/nb.po b/gl/po/nb.po
index 221ff0ac..19df6a02 100644
--- a/gl/po/nb.po
+++ b/gl/po/nb.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU textutils 2.0.20\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2002-01-27 21:35+0100\n"
"Last-Translator: Eivind Tagseth <eivindt@multinet.no>\n"
"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
diff --git a/gl/po/nl.po b/gl/po/nl.po
index 57146a94..f253b1fa 100644
--- a/gl/po/nl.po
+++ b/gl/po/nl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib-4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-29 13:31+0200\n"
"Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/gl/po/pl.po b/gl/po/pl.po
index 19c76d35..344b61ab 100644
--- a/gl/po/pl.po
+++ b/gl/po/pl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-19 20:02+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
diff --git a/gl/po/pt.po b/gl/po/pt.po
index f9a1160e..b8eebd7b 100644
--- a/gl/po/pt.po
+++ b/gl/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-26 10:40+0100\n"
"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
diff --git a/gl/po/pt_BR.po b/gl/po/pt_BR.po
index b5e1f2d5..18b9b8c8 100644
--- a/gl/po/pt_BR.po
+++ b/gl/po/pt_BR.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-08-28 15:29-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
diff --git a/gl/po/ro.gmo b/gl/po/ro.gmo
index efb10ab0..adb7fb55 100644
--- a/gl/po/ro.gmo
+++ b/gl/po/ro.gmo
Binary files differ
diff --git a/gl/po/ro.po b/gl/po/ro.po
index a725f7d5..c7f9c1cb 100644
--- a/gl/po/ro.po
+++ b/gl/po/ro.po
@@ -13,28 +13,29 @@
# NU și a mesajelor traduse (acestea au rămas neschimbate).
# Eliminare a mesajelor ce-au dispărut în ultima versiune.
# Actualizări realizate de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 15.01.2022.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: gnulib-4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
-"PO-Revision-Date: 2022-01-24 23:13+0100\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
+"PO-Revision-Date: 2022-02-19 23:11+0100\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);\n"
-"X-Generator: Poedit 2.3.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.0.1\n"
#: gl/lib/argp-help.c:162
#, c-format
msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: valoarea %s este mai mică sau egală cu %s"
#: gl/lib/argp-help.c:238
#, c-format
@@ -57,12 +58,12 @@ msgid ""
"optional for any corresponding short options."
msgstr ""
"Argumentele obligatorii sau opționale pentru opțiunile lungi sunt de "
-"asemenea obligatorii sau opționale pentru toate opțiunile scurte "
+"asemenea, obligatorii sau opționale pentru oricare dintre opțiunile scurte "
"corespunzătoare."
#: gl/lib/argp-help.c:1740
msgid "Usage:"
-msgstr "Folosire:"
+msgstr "Utilizare:"
#: gl/lib/argp-help.c:1744
msgid " or: "
@@ -73,53 +74,46 @@ msgid " [OPTION...]"
msgstr " [OPȚIUNE...]"
#: gl/lib/argp-help.c:1783
-#, fuzzy, c-format
+#, c-format
msgid "Try '%s --help' or '%s --usage' for more information.\n"
-msgstr "Încercați `%s --help' sau `%s --usage' pentru mai multe informații.\n"
+msgstr "Încercați «%s --help» sau «%s --usage» pentru mai multe informații.\n"
#: gl/lib/argp-help.c:1811
#, c-format
msgid "Report bugs to %s.\n"
-msgstr "Raportați bug-urile la %s.\n"
+msgstr "Raportați erorile la %s.\n"
#: gl/lib/argp-help.c:2011 gl/lib/error.c:195
-#, fuzzy
msgid "Unknown system error"
-msgstr "tip de mesaj necunoscut"
+msgstr "Eroare de sistem necunoscută"
#: gl/lib/argp-parse.c:91
-#, fuzzy
msgid "give this help list"
-msgstr "Afișează această listă de ajutor"
+msgstr "afișează această listă de ajutor"
#: gl/lib/argp-parse.c:92
-#, fuzzy
msgid "give a short usage message"
-msgstr "Afișează un mesaj de folosire scurt"
+msgstr "afișează un mesaj scurt de utlizare"
#: gl/lib/argp-parse.c:93
msgid "NAME"
msgstr "NUME"
#: gl/lib/argp-parse.c:94
-#, fuzzy
msgid "set the program name"
-msgstr "Setează numele programului"
+msgstr "stabilește numele programului"
#: gl/lib/argp-parse.c:95
-#, fuzzy
msgid "SECS"
msgstr "SECUNDE"
#: gl/lib/argp-parse.c:96
-#, fuzzy
msgid "hang for SECS seconds (default 3600)"
-msgstr "Întrerupe(hang) pentru SECS secunde (implicit 3600)"
+msgstr "întrerupe(hang) pentru acest număr de secunde (implicit 3600)"
#: gl/lib/argp-parse.c:154
-#, fuzzy
msgid "print program version"
-msgstr "Afișează versiunea programului"
+msgstr "imprimă versiunea programului"
#: gl/lib/argp-parse.c:171
msgid "(PROGRAM ERROR) No version known!?"
@@ -135,49 +129,49 @@ msgid "(PROGRAM ERROR) Option should have been recognized!?"
msgstr "(EROARE DE PROGRAM) Opțiunea ar fi trebuit recunoscută!?"
#: gl/lib/getopt.c:278
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: opțiunea `%s' este ambiguă\n"
+msgstr "%s: opțiunea „%s%s” este ambiguă\n"
#: gl/lib/getopt.c:284
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: opțiunea `%s' este ambiguă\n"
+msgstr "%s: opțiunea „%s%s” este ambiguă; posibilități:"
#: gl/lib/getopt.c:319
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: opțiune necunoscută `%c%s'\n"
+msgstr "%s: opțiune nerecunoscută „%s%s”\n"
#: gl/lib/getopt.c:345
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: opțiunea `%c%s' nu permite argumente\n"
+msgstr "%s: opțiunea „%s%s” nu permite un argument\n"
#: gl/lib/getopt.c:360
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: opțiunea `%s' necesită un argument\n"
+msgstr "%s: opțiunea „%s%s” necesită un argument\n"
#: gl/lib/getopt.c:621
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opțiune invalidă -- %c\n"
+msgstr "%s: opțiune nevalidă -- „%c”\n"
#: gl/lib/getopt.c:636 gl/lib/getopt.c:682
-#, fuzzy, c-format
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: opțiunea necesită un argument -- %c\n"
+msgstr "%s: opțiunea necesită un argument -- „%c”\n"
#: gl/lib/openat-die.c:38
#, c-format
msgid "unable to record current working directory"
-msgstr ""
+msgstr "nu s-a putut înregistra directorul de lucru curent"
#: gl/lib/openat-die.c:57
#, c-format
msgid "failed to return to initial working directory"
-msgstr ""
+msgstr "întoarcerea la directorul de lucru inițial a eșuat"
#: gl/lib/regcomp.c:122
msgid "Success"
@@ -185,246 +179,885 @@ msgstr "Succes"
#: gl/lib/regcomp.c:125
msgid "No match"
-msgstr ""
+msgstr "Nicio potrivire"
#: gl/lib/regcomp.c:128
-#, fuzzy
msgid "Invalid regular expression"
-msgstr "Nu există fișier anterior"
+msgstr "Expresie regulată nevalidă"
#: gl/lib/regcomp.c:131
msgid "Invalid collation character"
-msgstr ""
+msgstr "Caracter de colaționare nevalid"
#: gl/lib/regcomp.c:134
msgid "Invalid character class name"
-msgstr ""
+msgstr "Nume de clasă de caracter nevalid"
#: gl/lib/regcomp.c:137
msgid "Trailing backslash"
-msgstr ""
+msgstr "Bară oblică inversă la sfârșit"
#: gl/lib/regcomp.c:140
-#, fuzzy
msgid "Invalid back reference"
-msgstr "Număr invalid"
+msgstr "Referință anterioară nevalidă"
#: gl/lib/regcomp.c:143
msgid "Unmatched [, [^, [:, [., or [="
-msgstr ""
+msgstr "[, [^, [:, [., sau [= fără pereche"
#: gl/lib/regcomp.c:146
msgid "Unmatched ( or \\("
-msgstr ""
+msgstr "( sau \\( fără pereche"
#: gl/lib/regcomp.c:149
msgid "Unmatched \\{"
-msgstr ""
+msgstr "\\{ fără pereche"
#: gl/lib/regcomp.c:152
msgid "Invalid content of \\{\\}"
-msgstr ""
+msgstr "Conținut nevalid al \\{\\}"
#: gl/lib/regcomp.c:155
-#, fuzzy
msgid "Invalid range end"
-msgstr "Tip de dată invalid"
+msgstr "Sfârșit de interval nevalid"
#: gl/lib/regcomp.c:158
msgid "Memory exhausted"
-msgstr "Memorie plină"
+msgstr "Memorie epuizată"
#: gl/lib/regcomp.c:161
-#, fuzzy
msgid "Invalid preceding regular expression"
-msgstr "Nu există fișier anterior"
+msgstr "Expresie regulată precedentă nevalidă"
#: gl/lib/regcomp.c:164
-#, fuzzy
msgid "Premature end of regular expression"
-msgstr "Nu există fișier anterior"
+msgstr "Terminare prematură a expresiei regulate"
#: gl/lib/regcomp.c:167
-#, fuzzy
msgid "Regular expression too big"
-msgstr "Nu există fișier anterior"
+msgstr "Expresie regulată prea lungă"
#: gl/lib/regcomp.c:170
msgid "Unmatched ) or \\)"
-msgstr ""
+msgstr ") sau \\) fără pereche"
#: gl/lib/regcomp.c:650
-#, fuzzy
msgid "No previous regular expression"
-msgstr "Nu există fișier anterior"
+msgstr "Nu există o expresie regulată precedentă"
#: gl/lib/verror.c:76
#, c-format
msgid "unable to display error message"
-msgstr ""
+msgstr "imposibil de afișat mesajul de eroare"
#: gl/lib/xalloc-die.c:34
-#, fuzzy
msgid "memory exhausted"
-msgstr "Memorie plină"
+msgstr "memorie epuizată"
#: gl/lib/xstdopen.c:34
#, c-format
msgid "standard file descriptors"
-msgstr ""
+msgstr "descriptoare de fișier standard"
-#, fuzzy, c-format
+#, c-format
#~ msgid "invalid argument %s for %s"
-#~ msgstr "nume etichetă(tag) invalid `%s' pentru `%s'"
+#~ msgstr "argument nevalid %s pentru %s"
-#, fuzzy, c-format
+#, c-format
#~ msgid "ambiguous argument %s for %s"
-#~ msgstr "lipsește argumentul pentru %s"
+#~ msgstr "argument ambiguu %s pentru %s"
-#, fuzzy
#~ msgid "Valid arguments are:"
-#~ msgstr "argumentele if valide sunt: s | r | t"
+#~ msgstr "Argumentele valide sunt:"
+
+#, c-format
+#~ msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
+#~ msgstr "%u bitset_allocs, %u eliberat (%.2f%%).\n"
+
+#, c-format
+#~ msgid "%u bitset_sets, %u cached (%.2f%%)\n"
+#~ msgstr "%u bitset_sets, %u în memoria tampon (%.2f%%)\n"
+
+#, c-format
+#~ msgid "%u bitset_resets, %u cached (%.2f%%)\n"
+#~ msgstr "%u bitset_resets, %u în memoria tampon (%.2f%%)\n"
+
+#, c-format
+#~ msgid "%u bitset_tests, %u cached (%.2f%%)\n"
+#~ msgstr "%u bitset_tests, %u în memoria tampon (%.2f%%)\n"
+
+#, c-format
+#~ msgid "%u bitset_lists\n"
+#~ msgstr "%u bitset_lists\n"
+
+# R-GC, scrie:
+# ținînd cont de referința acestui mesaj, și a
+# următoarelor două
+# mesaje(lib/bitset/stats.c),
+# am considerat că traducerea mot-a-mot a
+# mesajelor(tentantă), nu este cea corectă,
+# am început să investighez printre
+# traducerile celorlalte echipe, și cred că am
+# aflat „dezlegarea misterului”, în traducerea
+# făcută de Benno Schulenberg din echipa
+# olandeză:
+# „histogram van aantal gezette bits”
+#~ msgid "count log histogram\n"
+#~ msgstr "histograma numărului seturilor de biți»bitset«\n"
+
+#~ msgid "size log histogram\n"
+#~ msgstr "histograma dimensiunilor seturilor de biți»bitset«\n"
+
+#~ msgid "density histogram\n"
+#~ msgstr "histograma densității seturilor de biți»bitset«\n"
+
+#, c-format
+#~ msgid ""
+#~ "Bitset statistics:\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Statistici set de biți»bitset«:\n"
+#~ "\n"
+
+#, c-format
+#~ msgid "Accumulated runs = %u\n"
+#~ msgstr "Cantitatea de execuții = %u\n"
-#, fuzzy
#~ msgid "cannot read stats file"
-#~ msgstr "nu se poate crea mailerul \"%s\""
+#~ msgstr "nu se poate citi fișierul cu statistici"
+
+#, c-format
+#~ msgid "bad stats file size\n"
+#~ msgstr "dimensiunea fișierului cu statistici, este necorespunzătoare\n"
-#, fuzzy
#~ msgid "cannot write stats file"
-#~ msgstr "nu se poate crea mailerul \"%s\""
+#~ msgstr "nu se poate scrie fișierul cu statistici"
-#, fuzzy
#~ msgid "cannot open stats file for writing"
-#~ msgstr "nu se poate deschide fișierul de ieșire(output) \"%s\": %s"
+#~ msgstr "nu se poate deschide fișierul cu statistici pentru scriere"
-#, fuzzy
#~ msgid "program error"
-#~ msgstr "eroare de interval(range)"
+#~ msgstr "eroare de program"
-#, fuzzy
#~ msgid "stack overflow"
-#~ msgstr "subrulare(underflow) a stivei(stack)"
-
-#, fuzzy, c-format
+#~ msgstr "debordare de stivă"
+
+#~ msgid "cannot find a temporary directory, try setting $TMPDIR"
+#~ msgstr ""
+#~ "nu se poate găsi un director temporar, încercați să stabiliți variabila "
+#~ "$TMPDIR"
+
+# R-GC, scrie:
+# după ce-a revizat fișierul, DȘ îmi spune:
+# «→ aici parcă lipsește un „se”, și ar deveni „nu se poate crea...”»
+# îmi pare rău, mi se făcuse foame de cuvinte..
+# :)
+# - corectare aplicată!
+#, c-format
#~ msgid "cannot create a temporary directory using template \"%s\""
-#~ msgstr "nu se poate crea iterator: %s"
+#~ msgstr "nu se poate crea un director temporar utilizând șablonul „%s”"
-#, fuzzy, c-format
+#, c-format
#~ msgid "cannot remove temporary file %s"
-#~ msgstr "nu se poate crea iterator: %s"
+#~ msgstr "nu se poate elimina fișierul temporar %s"
-#, fuzzy, c-format
+#, c-format
#~ msgid "cannot remove temporary directory %s"
-#~ msgstr "nu se poate crea iterator: %s"
+#~ msgstr "nu se poate elimina directorul temporar %s"
+
+#~ msgid "error closing file"
+#~ msgstr "eroare la închiderea fișierului"
-#, fuzzy
#~ msgid "write error"
-#~ msgstr "eroare regex"
+#~ msgstr "eroare de scriere"
-#, fuzzy, c-format
+#, c-format
#~ msgid "preserving permissions for %s"
-#~ msgstr "Permisiuni greșite la %s. Setați 0600."
+#~ msgstr "se păstrează permisiunile pentru %s"
-#, fuzzy, c-format
+#, c-format
+#~ msgid "error while opening %s for reading"
+#~ msgstr "eroare la deschiderea lui %s pentru citire"
+
+#, c-format
#~ msgid "cannot open backup file %s for writing"
-#~ msgstr "nu se poate deschide fișierul de ieșire(output) \"%s\": %s"
+#~ msgstr "nu se poate deschide fișierul de copie de rezervă %s pentru scriere"
-#, fuzzy, c-format
+#, c-format
#~ msgid "error reading %s"
-#~ msgstr "eroare la cititrea din fișierul de intrare(input): %s"
+#~ msgstr "eroare la citirea din %s"
-#, fuzzy, c-format
+#, c-format
#~ msgid "error writing %s"
-#~ msgstr "eroare în scrierea în mailbox: %s"
+#~ msgstr "eroare la scrierea în %s"
-#, fuzzy, c-format
+#, c-format
#~ msgid "error after reading %s"
-#~ msgstr "eroare la cititrea din fișierul de intrare(input): %s"
+#~ msgstr "eroare după citirea %s"
-#, fuzzy
#~ msgid "fdopen() failed"
-#~ msgstr "fork eșuat"
+#~ msgstr "fdopen() a eșuat"
+
+#~ msgid "C# compiler not found, try installing mono"
+#~ msgstr "Nu a fost găsit compilatorul C#, încercați să instalați mono"
+
+#~ msgid "C# virtual machine not found, try installing mono"
+#~ msgstr "Nu a fost găsită mașina virtuală C#, încercați să instalați mono"
+
+#~ msgid "unbalanced ["
+#~ msgstr "„[” fără pereche"
+
+#~ msgid "invalid character class"
+#~ msgstr "clasă de caractere nevalidă"
+
+#~ msgid "character class syntax is [[:space:]], not [:space:]"
+#~ msgstr "sintaxa de clasă de caractere este [[:spațiu:]], nu [:spațiu]"
+
+#~ msgid "unfinished \\ escape"
+#~ msgstr "eludare » \\ « neterminată"
+
+#~ msgid "invalid content of \\{\\}"
+#~ msgstr "conținut nevalid al \\{\\}"
-#, fuzzy
#~ msgid "regular expression too big"
-#~ msgstr "Nu există fișier anterior"
+#~ msgstr "expresia regulată este prea lungă"
+
+#~ msgid "unbalanced ("
+#~ msgstr "„(” fără pereche"
+
+#~ msgid "no syntax specified"
+#~ msgstr "nu s-a specificat nicio sintaxă"
+
+#~ msgid "unbalanced )"
+#~ msgstr "„)” fără pereche"
+
+#, c-format
+#~ msgid "%s subprocess failed"
+#~ msgstr "subprocesul %s a eșuat"
+
+#~ msgid "regular empty file"
+#~ msgstr "fișier gol obișnuit"
+
+#~ msgid "regular file"
+#~ msgstr "fișier obișnuit"
+
+#~ msgid "directory"
+#~ msgstr "director"
+
+#~ msgid "symbolic link"
+#~ msgstr "legătură simbolică"
-#, fuzzy
#~ msgid "message queue"
-#~ msgstr "%d mesaj"
+#~ msgstr "coada de mesaje"
+
+#~ msgid "semaphore"
+#~ msgstr "semafor"
+
+#~ msgid "shared memory object"
+#~ msgstr "obiect de memorie partajată"
+
+# R-GC, scrie:
+# investigînd prin:
+# - http://www.opengroup.org/onlinepubs/000095399/functions/mmap.html
+# și
+# - http://www.opengroup.org/austin/papers/posix_faq.html
+# am ajuns la această traducere; cu o
+# posibilă variantă:
+# „obiect de memorie standardizat”
+# *********
+# Ideile sunt binevenite...!
+#~ msgid "typed memory object"
+#~ msgstr "obiect de memorie tipizat"
+
+#~ msgid "block special file"
+#~ msgstr "fișier special de blocuri"
+
+#~ msgid "character special file"
+#~ msgstr "fișier special de caractere"
+
+#~ msgid "contiguous data"
+#~ msgstr "date contigue"
+
+#~ msgid "fifo"
+#~ msgstr "primul intrat, primul ieșit(fifo)"
+
+# R-GC, scrie:
+# informații culese de la:
+# https://en.wikipedia.org/wiki/Unix_file_types#Door (adresă obținută din
+# comentariul făcut de Rafael Fontenelle, din
+# echipa braziliană, în fișierul «gnulib-*.pt_BR.po»)
+# și de la:
+# https://en.wikipedia.org/wiki/Doors_(computing) (adresă obținută prin
+# amabilitatea lui Jim Meyering, unul din
+# „băieții” din spatele proiectului «diffutils»)
+#~ msgid "door"
+#~ msgstr "poartă(de comunicare)"
+
+#~ msgid "multiplexed block special file"
+#~ msgstr "fișier special de blocuri, multiplexat"
+
+#~ msgid "multiplexed character special file"
+#~ msgstr "fișier special de caractere, multiplexat"
+
+#~ msgid "multiplexed file"
+#~ msgstr "fișier multiplexat"
+
+#~ msgid "named file"
+#~ msgstr "fișier numit"
+
+#~ msgid "network special file"
+#~ msgstr "fișier special de rețea"
+
+#~ msgid "migrated file with data"
+#~ msgstr "fișier migrat cu date"
+
+#~ msgid "migrated file without data"
+#~ msgstr "fișier migrat fără date"
+
+#~ msgid "port"
+#~ msgstr "port"
+
+#~ msgid "socket"
+#~ msgstr "soclu"
+
+# R-GC, scrie:
+# am găsit aici:
+# https://en.wikipedia.org/wiki/Union_mount
+# date despre «whiteout», folosit de UnionFS
+#~ msgid "whiteout"
+#~ msgstr "whiteout"
+
+#~ msgid "weird file"
+#~ msgstr "fișier ciudat"
+
+#~ msgid "Address family for hostname not supported"
+#~ msgstr "Familia de adrese pentru numele de gazdă nu este suportată"
+
+#~ msgid "Temporary failure in name resolution"
+#~ msgstr "Eșec temporar în rezolvarea numelui"
+
+#~ msgid "Bad value for ai_flags"
+#~ msgstr "Valoare greșită pentru ai_flags"
+
+#~ msgid "Non-recoverable failure in name resolution"
+#~ msgstr "Eșec nerecuperabil în rezolvarea numelui"
+
+#~ msgid "ai_family not supported"
+#~ msgstr "ai_family nu este suportat"
-#, fuzzy
#~ msgid "Memory allocation failure"
-#~ msgstr "Operațiune eșuată"
+#~ msgstr "Eșec la alocarea memoriei"
+
+#~ msgid "No address associated with hostname"
+#~ msgstr "Nicio adresă asociată cu numele gazdei"
+
+#~ msgid "Name or service not known"
+#~ msgstr "Nume sau serviciu necunoscut"
+
+#~ msgid "Servname not supported for ai_socktype"
+#~ msgstr "Nume de server nesuportat pentru ai_socktype"
+
+#~ msgid "ai_socktype not supported"
+#~ msgstr "ai_socktype nu este suportat"
-#, fuzzy
#~ msgid "System error"
-#~ msgstr "eroare regex"
+#~ msgstr "Eroare de sistem"
+
+#~ msgid "Argument buffer too small"
+#~ msgstr "Memoria tampon pentru argumente este prea mică"
+
+#~ msgid "Processing request in progress"
+#~ msgstr "Procesarea cererii este în curs"
+
+#~ msgid "Request canceled"
+#~ msgstr "Cerere anulată"
+
+#~ msgid "Request not canceled"
+#~ msgstr "Cerere neanulată"
+
+#~ msgid "All requests done"
+#~ msgstr "Toate cererile au fost procesate"
+
+# R-GC, scrie:
+# o altă variantă, ar fi:
+# „Întrerupt printr-un semnal”
+# bănuiesc că se referă la un proces sau
+# un program.
+# Idei ?
+#~ msgid "Interrupted by a signal"
+#~ msgstr "Întrerupt de un semnal"
+
+# R-GC, scrie:
+# după ce-a revizat fișierul, DȘ îmi spune:
+# «→ ar fi de evitat folosirea lui „e” în loc de „este”»
+# corecție aplicată!; încă o dată, foamea :) ,
+# de data asta, de litere
+#~ msgid "Parameter string not correctly encoded"
+#~ msgstr "Șirul parametrului este codificat greșit"
-#, fuzzy
#~ msgid "Unknown error"
-#~ msgstr "Escape necunoscut %s"
+#~ msgstr "Eroare necunoscută"
+
+#~ msgid "invalid source_version argument to compile_java_class"
+#~ msgstr "argumentul source_version nu este valid pentru compile_java_class"
+
+#~ msgid "invalid target_version argument to compile_java_class"
+#~ msgstr "argumentul target_version nu este valid pentru compile_java_class"
-#, fuzzy, c-format
+#, c-format
+#~ msgid "failed to create \"%s\""
+#~ msgstr "nu s-a putut crea \"%s\""
+
+#, c-format
#~ msgid "error while writing \"%s\" file"
-#~ msgstr "eroare în scrierea în mailbox: %s"
+#~ msgstr "eroare în timpul scrierii fișierului „%s”"
-#, fuzzy, c-format
+#~ msgid "Java compiler not found, try installing gcj or set $JAVAC"
+#~ msgstr ""
+#~ "Nu a fost găsit compilatorul Java, încercați să instalați gcj sau "
+#~ "stabiliți variabila $JAVAC"
+
+#~ msgid "Java virtual machine not found, try installing gij or set $JAVA"
+#~ msgstr ""
+#~ "Nu a fost găsită mașina virtuală Java, încercați să instalați gij sau "
+#~ "stabiliți variabila $JAVA"
+
+#, c-format
+#~ msgid "%s subprocess I/O error"
+#~ msgstr "eroare de In/Ieș a subprocesului %s"
+
+#, c-format
#~ msgid "cannot stat %s"
-#~ msgstr "nu se poate crea mailerul \"%s\""
+#~ msgstr "nu se poate obține starea lui „%s”"
-#, fuzzy, c-format
+#, c-format
#~ msgid "cannot change permissions of %s"
-#~ msgstr "Permisiuni greșite la %s. Setați 0600."
+#~ msgstr "nu se pot schimba permisiunile pentru %s"
-#, fuzzy, c-format
+#, c-format
#~ msgid "cannot create directory %s"
-#~ msgstr "nu se poate crea iterator: %s"
+#~ msgstr "nu se poate crea directorul %s"
-#, fuzzy, c-format
+#~ msgid "Failed to open /dev/zero for read"
+#~ msgstr "Nu s-a putut deschide „/dev/zero” pentru citire"
+
+#~ msgid "creation of reading thread failed"
+#~ msgstr "crearea firului de citire a eșuat"
+
+#, c-format
+#~ msgid "cannot set up nonblocking I/O to %s subprocess"
+#~ msgstr "nu se poate configura In/Ieș neblocante la subprocesul %s"
+
+#, c-format
+#~ msgid "communication with %s subprocess failed"
+#~ msgstr "comunicarea cu subprocesul %s a eșuat"
+
+#, c-format
+#~ msgid "write to %s subprocess failed"
+#~ msgstr "scrierea în subprocesul %s a eșuat"
+
+#, c-format
+#~ msgid "read from %s subprocess failed"
+#~ msgstr "citirea din subprocesul %s a eșuat"
+
+#, c-format
+#~ msgid "subprocess %s terminated with exit code %d"
+#~ msgstr "subprocesul %s a terminat cu codul de ieșire %d"
+
+#~ msgid "creation of threads failed"
+#~ msgstr "crearea firelor a eșuat"
+
+#, c-format
+#~ msgid "%s subprocess terminated with exit code %d"
+#~ msgstr "subprocesul %s a terminat cu codul de ieșire %d"
+
+#~ msgid "`"
+#~ msgstr "„"
+
+#~ msgid "'"
+#~ msgstr "”"
+
+#~ msgid "^[yY]"
+#~ msgstr "^[dDyY]"
+
+#~ msgid "^[nN]"
+#~ msgstr "^[nN]"
+
+#, c-format
#~ msgid "setting permissions for %s"
-#~ msgstr "Permisiuni greșite la %s. Setați 0600."
+#~ msgstr "se stabilesc permisiunile pentru %s"
+
+# R-GC, scrie:
+# - http://en.wikipedia.org/wiki/SIGHUP
+# aici, la sfîrșitul articolului, explicația/moti-
+# vația pentru traducerea aleasă.
+#~ msgid "Hangup"
+#~ msgstr "Terminare anormală(Hangup)"
+
+#~ msgid "Interrupt"
+#~ msgstr "Întrerupe"
+
+#~ msgid "Quit"
+#~ msgstr "Termină"
+
+#~ msgid "Illegal instruction"
+#~ msgstr "Instrucțiune ilegală"
+
+#~ msgid "Trace/breakpoint trap"
+#~ msgstr "Capturare punct de întrerupere/traseul(execuției)"
+
+#~ msgid "Aborted"
+#~ msgstr "Renuțare"
+
+#~ msgid "Floating point exception"
+#~ msgstr "Excepție de virgulă mobilă"
+
+#~ msgid "Killed"
+#~ msgstr "Omorît"
-#, fuzzy
#~ msgid "Bus error"
-#~ msgstr "eroare regex"
+#~ msgstr "Eroare de magistrală de date(bus)"
+
+#~ msgid "Segmentation fault"
+#~ msgstr "Eroare de segmentare"
+
+# R-GC, scrie:
+# mi s-a părut cea mai bună descriere a
+# termenilor din mesaj.
+# - Idei?
+#~ msgid "Broken pipe"
+#~ msgstr "Linie de conectare întreruptă"
+
+#~ msgid "Alarm clock"
+#~ msgstr "Ceas cu alarmă"
+
+#~ msgid "Terminated"
+#~ msgstr "Terminat"
+
+#~ msgid "Urgent I/O condition"
+#~ msgstr "Condiție In/Ieș urgentă"
+
+#~ msgid "Stopped (signal)"
+#~ msgstr "Oprit (semnal)"
+
+#~ msgid "Stopped"
+#~ msgstr "Oprit"
+
+#~ msgid "Continued"
+#~ msgstr "Continuare"
+
+#~ msgid "Child exited"
+#~ msgstr "Procesul copil a terminat"
+
+#~ msgid "Stopped (tty input)"
+#~ msgstr "Oprit (intrare tty)"
+
+#~ msgid "Stopped (tty output)"
+#~ msgstr "Oprit (ieșire tty)"
+
+#~ msgid "I/O possible"
+#~ msgstr "In/Ieș posibilă"
+
+#~ msgid "CPU time limit exceeded"
+#~ msgstr "S-a depășit limita de timp CPU"
+
+#~ msgid "File size limit exceeded"
+#~ msgstr "S-a depășit limita de dimensiune a fișierului"
+
+#~ msgid "Virtual timer expired"
+#~ msgstr "Cronometrul virtual a expirat"
+
+#~ msgid "Profiling timer expired"
+#~ msgstr "Cronometrul de creare a profilului a expirat"
+
+#~ msgid "Window changed"
+#~ msgstr "Fereastra s-a schimbat"
+
+#~ msgid "User defined signal 1"
+#~ msgstr "Semnalul »1« definit de utilizator"
+
+#~ msgid "User defined signal 2"
+#~ msgstr "Semnalul »2« definit de utilizator"
+
+# R-GC, scrie:
+# Traducere „copiată” de la italieni, cu
+# explicația aferentă:
+# http://en.wikipedia.org/wiki/SIGEMT
+#~ msgid "EMT trap"
+#~ msgstr "Detectare EMT"
+
+#~ msgid "Bad system call"
+#~ msgstr "Apel de sistem greșit"
+
+#~ msgid "Stack fault"
+#~ msgstr "Eroare de stivă"
+
+#~ msgid "Information request"
+#~ msgstr "Cerere de informații"
+
+#~ msgid "Power failure"
+#~ msgstr "Pană de curent"
+
+#~ msgid "Resource lost"
+#~ msgstr "Resursă pierdută"
+
+#~ msgid "error writing to a closed pipe or socket"
+#~ msgstr ""
+#~ "eroare de scriere într-o linie de conectare închisă sau într-un soclu "
+#~ "închis"
-#, fuzzy
#~ msgid "cannot create pipe"
-#~ msgstr "nu se poate crea mailerul \"%s\""
+#~ msgstr "nu se poate crea linia de conectare"
+
+#, c-format
+#~ msgid "Real-time signal %d"
+#~ msgstr "Semnal în timp real %d"
+
+#, c-format
+#~ msgid "Unknown signal %d"
+#~ msgstr "Semnal necunoscut %d"
+
+#~ msgid "Execution times (seconds)"
+#~ msgstr "Timpi de execuție (secunde)"
+
+#~ msgid "CPU user"
+#~ msgstr "CPU utilizator"
+
+#~ msgid "CPU system"
+#~ msgstr "CPU sistem"
+
+# R-GC, scrie:
+# traducere inspirată în munca echipelor
+# italiene și olandeze; traducerea mot-a-mot:
+# „ceas de perete”, nu mă convingea, Acum,
+# realizez că intenția autorului era de:
+# ceas etalon(aproximativ ca GMT).
+#~ msgid "wall clock"
+#~ msgstr "timpul real"
+
+#~ msgid "iconv function not usable"
+#~ msgstr "funcție «iconv» inutilizabilă"
+
+#~ msgid "iconv function not available"
+#~ msgstr "funcție «iconv» indisponibilă"
+
+#~ msgid "character out of range"
+#~ msgstr "caracter în afara intervalului"
+
+# R-GC, scrie:
+# varianta inițială, a traducerii acestui mesaj,
+# era:
+# „"U+%04X nu poate fi convertit în setul de caractere local”
+#, c-format
+#~ msgid "cannot convert U+%04X to local character set"
+#~ msgstr "nu se poate converti U+%04X în setul de caractere local"
+
+#, c-format
+#~ msgid "cannot convert U+%04X to local character set: %s"
+#~ msgstr "nu se poate converti U+%04X în setul de caractere local: %s"
-#, fuzzy
#~ msgid "invalid user"
-#~ msgstr "Număr invalid"
+#~ msgstr "utilizator nevalid"
-#, fuzzy
#~ msgid "invalid group"
-#~ msgstr "Deschide grup"
+#~ msgstr "grup nevalid"
-#, fuzzy
#~ msgid "invalid spec"
-#~ msgstr "Număr invalid"
+#~ msgstr "specificație nevalidă"
+
+#, c-format
+#~ msgid "Packaged by %s (%s)\n"
+#~ msgstr "Împachetat de %s (%s)\n"
+
+#, c-format
+#~ msgid "Packaged by %s\n"
+#~ msgstr "Împachetat de %s\n"
+
+#~ msgid "(C)"
+#~ msgstr "©"
+
+#, c-format
+#~ msgid ""
+#~ "License GPLv3+: GNU GPL version 3 or later <%s>.\n"
+#~ "This is free software: you are free to change and redistribute it.\n"
+#~ "There is NO WARRANTY, to the extent permitted by law.\n"
+#~ msgstr ""
+#~ "Licența GPLv3+: GNU GPL versiunea 3 sau mai mare <%s>.\n"
+#~ "Acesta este software liber: sunteți liber să îl modificați și să îl "
+#~ "redistribuiți.\n"
+#~ "NU există NICIO GARANȚIE, în măsura permisă de lege.\n"
+
+#, c-format
+#~ msgid "Written by %s.\n"
+#~ msgstr "Scris de %s.\n"
+
+#, c-format
+#~ msgid "Written by %s and %s.\n"
+#~ msgstr "Scris de %s și %s.\n"
+
+#, c-format
+#~ msgid "Written by %s, %s, and %s.\n"
+#~ msgstr "Scris de %s, %s și %s.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "and %s.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s\n"
+#~ "și %s.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "%s, and %s.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s,\n"
+#~ "%s, și %s.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "%s, %s, and %s.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s,\n"
+#~ "%s, %s, și %s.\n"
-#, fuzzy, c-format
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "%s, %s, %s, and %s.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s,\n"
+#~ "%s, %s, %s, și %s.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "%s, %s, %s, %s,\n"
+#~ "and %s.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s,\n"
+#~ "%s, %s, %s, %s,\n"
+#~ "și %s.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "%s, %s, %s, %s,\n"
+#~ "%s, and %s.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s,\n"
+#~ "%s, %s, %s, %s,\n"
+#~ "%s, și %s.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Written by %s, %s, %s,\n"
+#~ "%s, %s, %s, %s,\n"
+#~ "%s, %s, and others.\n"
+#~ msgstr ""
+#~ "Scris de %s, %s, %s,\n"
+#~ "%s, %s, %s, %s,\n"
+#~ "%s, %s, și alții.\n"
+
+#, c-format
#~ msgid "Report bugs to: %s\n"
-#~ msgstr "Raportați bug-urile la %s.\n"
+#~ msgstr "Raportați erorile la %s.\n"
-#, fuzzy, c-format
+#, c-format
#~ msgid "Report %s bugs to: %s\n"
-#~ msgstr "Raportați bug-urile la %s.\n"
+#~ msgstr "Raportați erorile %s la: %s\n"
+
+#, c-format
+#~ msgid "%s home page: <%s>\n"
+#~ msgstr "%s pagina principală: <%s>\n"
+
+#, c-format
+#~ msgid "General help using GNU software: <%s>\n"
+#~ msgstr "Ajutor general utilizând software GNU: <%s>\n"
+
+#~ msgid "_open_osfhandle failed"
+#~ msgstr "_open_osfhandle a eșuat"
+
+#, c-format
+#~ msgid "cannot restore fd %d: dup2 failed"
+#~ msgstr "nu se poate restaura fd %d: dup2 a eșuat"
+
+#, c-format
+#~ msgid "%s subprocess"
+#~ msgstr "subprocesul %s"
+
+#, c-format
+#~ msgid "%s subprocess got fatal signal %d"
+#~ msgstr "subprocesul %s a primit semnalul fatal %d"
+
+# R_GC, scrie:
+# altă posibilă traducere a mesajului, ar fi:
+# „nu s-a putut stabili modul de text/binar al descriptorului de fișier”
+# Opinii/Idei ?
+# ===========================
+# La sugestia făcută de DȘ, după revizarea
+# fișierului, a rămas mesaj valabil, traducerea
+# inițială a mesajului:
+# „nu s-a putut stabili descriptorul de fișier în modul text/binar”
+#~ msgid "failed to set file descriptor text/binary mode"
+#~ msgstr "nu s-a putut stabili descriptorul de fișier în modul text/binar"
+
+#~ msgid "stdin"
+#~ msgstr "stdin»intrarea standard«"
+
+#~ msgid "stdout"
+#~ msgstr "stdout»ieșirea standard«"
+
+#~ msgid "stderr"
+#~ msgstr "stderr»ieșirea standard de erori«"
-#, fuzzy
#~ msgid "unknown stream"
-#~ msgstr "tip de mesaj necunoscut"
+#~ msgstr "flux necunoscut"
+
+#, c-format
+#~ msgid "failed to reopen %s with mode %s"
+#~ msgstr "nu s-a putut redeschide %s în modul %s"
-#, fuzzy
#~ msgid "string comparison failed"
-#~ msgstr "Autentificare eșuată"
+#~ msgstr "compararea șirurilor a eșuat"
+
+#~ msgid "Set LC_ALL='C' to work around the problem."
+#~ msgstr "Stabiliți LC_ALL='C' pentru a rezolva problema."
-#, fuzzy, c-format
+#, c-format
+#~ msgid "The strings compared were %s and %s."
+#~ msgstr "Șirurile comparate au fost %s și %s."
+
+#~ msgid "cannot perform formatted output"
+#~ msgstr "nu se poate afișa ieșirea formatată"
+
+# R-GC, scrie:
+# traducerea acestui mesaj, și a celor două
+# mesaje următoare, a fost inspirată de
+# traducerile făcute de echipa italiană și cea
+# spaniolă.
+# Colegul de TP al echipei italiene, motivează
+# astfel traducerea făcută:
+# =========================
+# „(ndt)»italian«
+# quello che viene sostituito pare sia:
+# * il primo, hypens (con valore '--')
+# * il secondo, option
+# * il terzo, arg
+# quindi qualche cosa del genere:
+# invalid --option argument 'arg'
+# #
+# (altre idee sono benvenute!)”
+#, c-format
#~ msgid "invalid %s%s argument '%s'"
-#~ msgstr "nume etichetă(tag) invalid `%s' pentru `%s'"
+#~ msgstr "argumentul „%3$s” al %1$s%2$s nu este valid"
-#, fuzzy, c-format
+#, c-format
#~ msgid "invalid suffix in %s%s argument '%s'"
-#~ msgstr "nume etichetă(tag) invalid `%s' pentru `%s'"
+#~ msgstr "sufixul din argumentul „%3$s” al %1$s%2$s nu este valid"
+
+#, c-format
+#~ msgid "%s%s argument '%s' too large"
+#~ msgstr "argumentul „%3$s” al %1$s%2$s este prea lung"
diff --git a/gl/po/ru.po b/gl/po/ru.po
index 85742aa9..b125b96c 100644
--- a/gl/po/ru.po
+++ b/gl/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-21 18:46+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
@@ -17,8 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 2.0\n"
#: gl/lib/argp-help.c:162
diff --git a/gl/po/rw.po b/gl/po/rw.po
index ee93abdd..4f67b440 100644
--- a/gl/po/rw.po
+++ b/gl/po/rw.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mailutils 0.6\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2005-04-04 10:55-0700\n"
"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
diff --git a/gl/po/sk.po b/gl/po/sk.po
index 99e641ca..00267205 100644
--- a/gl/po/sk.po
+++ b/gl/po/sk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: textutils 2.0.14\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2001-06-08 22:10 +02:00\n"
"Last-Translator: Stanislav Meduna <stano@trillian.eunet.sk>\n"
"Language-Team: Slovak <sk-i18n@rak.isternet.sk>\n"
diff --git a/gl/po/sl.po b/gl/po/sl.po
index 952df097..f51116fb 100644
--- a/gl/po/sl.po
+++ b/gl/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2012-05-20 13:08+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -17,8 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
-"%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
+"n%100==4 ? 3 : 0);\n"
#: gl/lib/argp-help.c:162
#, c-format
diff --git a/gl/po/sr.po b/gl/po/sr.po
index 40593d24..84ed5e69 100644
--- a/gl/po/sr.po
+++ b/gl/po/sr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib-4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2020-04-20 09:38+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
diff --git a/gl/po/sv.po b/gl/po/sv.po
index cceb5a7a..4fba6689 100644
--- a/gl/po/sv.po
+++ b/gl/po/sv.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2020-05-28 21:40+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv-list@lists.sourceforge.net>\n"
diff --git a/gl/po/tr.po b/gl/po/tr.po
index 225e2089..dc745541 100644
--- a/gl/po/tr.po
+++ b/gl/po/tr.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: coreutils 5.3.0\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2005-03-14 04:17+0200\n"
"Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/gl/po/uk.po b/gl/po/uk.po
index 9e5af2fa..f6200e9c 100644
--- a/gl/po/uk.po
+++ b/gl/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-05-19 14:26+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -17,8 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 19.03.70\n"
#: gl/lib/argp-help.c:162
@@ -793,8 +793,8 @@ msgstr "стандартні дескриптори файлів"
#~ "This is free software: you are free to change and redistribute it.\n"
#~ "There is NO WARRANTY, to the extent permitted by law.\n"
#~ msgstr ""
-#~ "Умови ліцензування викладено у GPLv3+: GNU GPL версії 3 або новішій, <"
-#~ "%s>\n"
+#~ "Умови ліцензування викладено у GPLv3+: GNU GPL версії 3 або новішій, "
+#~ "<%s>\n"
#~ "Це вільне програмне забезпечення: ви можете вільно змінювати і поширювати "
#~ "його.\n"
#~ "Вам не надається ЖОДНИХ ГАРАНТІЙ, окрім гарантій передбачених "
diff --git a/gl/po/vi.po b/gl/po/vi.po
index 1804389a..5c825559 100644
--- a/gl/po/vi.po
+++ b/gl/po/vi.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib-3.0.0.6062.a6b16\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2014-01-13 08:31+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
diff --git a/gl/po/zh_CN.po b/gl/po/zh_CN.po
index d213851d..0be59fbd 100644
--- a/gl/po/zh_CN.po
+++ b/gl/po/zh_CN.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 2.0.0.3462.e9796\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2010-02-26 09:54+0800\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/gl/po/zh_TW.po b/gl/po/zh_TW.po
index 39059cc2..d7003626 100644
--- a/gl/po/zh_TW.po
+++ b/gl/po/zh_TW.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnulib 4.0.0.2567\n"
"Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n"
-"POT-Creation-Date: 2022-02-10 11:38+0000\n"
+"POT-Creation-Date: 2022-03-17 18:46+0000\n"
"PO-Revision-Date: 2019-12-15 13:01+0800\n"
"Last-Translator: pan93412 <pan93412@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"