Log

Author Commit Date CI Message
Bruno Haible 40c97669 2024-08-28T00:34:53 mcel: Fix compilation error with MSVC. * modules/builtin-expect (Description): Improve. * m4/builtin-expect.m4: Improve comment. * modules/mcel (Depends-on): Add builtin-expect.
Paul Eggert e4399abd 2024-08-27T14:39:59 savewd: port to native MS-Windows Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00187.html * lib/savewd.c (fork) [_WIN32 && !__CYGWIN]: New macro. (savewd_save): Don’t fork on MS-Windows, or if O_SEARCH != O_RDONLY.
Bruno Haible 13a1ce59 2024-08-27T23:11:26 bcopy: Deprecate module. * modules/bcopy (Status, Notice): Mark as deprecated. * doc/pastposix-functions/bcopy.texi: Mention that this module does not declare bcopy().
Bruno Haible 7c842773 2024-08-27T23:01:33 simple-atomic: Fix a clang warning on native Windows. * lib/simple-atomic.c (atomic_compare_and_swap_ptr): Add a cast.
Bruno Haible ed1fca92 2024-08-27T22:50:05 write-any-file: Don't reference an undefined function on native Windows. * m4/write-any-file.m4 (): Remove test for <priv.h>, obsolete since 2009-05-03. Test for geteuid. * lib/write-any-file.c (geteuid): Define a fallback.
Bruno Haible 624b6158 2024-08-27T22:28:36 mkdir-p: Don't reference an undefined function on native Windows. * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Test whether fchown exists. * lib/dirchownmod.c (fchown): Define to a fallback if the system does not have fchown. (dirchownmod): Test HAVE_FCHOWN.
Bruno Haible 8bcadf39 2024-08-27T22:17:18 getusershell: Don't completely ignore lines that contain a comment. * lib/getusershell.c (getusershell): Truncate the line where a comment starts, instead of ignoring the line entirely.
Bruno Haible 834946c1 2024-08-27T22:08:00 fts: Don't assume that a pointer is as wide as a 'long'. * lib/fts.c (fts_sort): Cast pointers to 'uintptr_t', not to 'long'.
Bruno Haible 59b225ae 2024-08-27T22:00:54 mkdir: Fix for use of posixcheck module on native Windows. * lib/sys_stat.in.h (mkdir): Give priority to the native Windows definition over the GNULIB_POSIXCHECK redefinition.
Bruno Haible 18d2b140 2024-08-27T21:43:36 windows-spawn: Fix clang warning. * lib/windows-spawn.c (convert_CreateProcess_error): Remove unreachable 'break;' statements.
Bruno Haible 348857d0 2024-08-27T21:40:15 Improve support for clang on Windows. * lib/c++defs.h (_GL_CXXALIASWARN_2): Treat clang like gcc 4.2. * lib/stdio.in.h (fwrite, fwrite_unlocked): Likewise. * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise. * lib/libc-config.h (__GNUC_PREREQ): Override glibc's definition to handle clang in disguise.
Bruno Haible 61720eb1 2024-08-27T16:20:16 Explicitly exclude clang when we test for a GCC version >= 4.3. Rationale: clang can disguise as any possible GCC version. * m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): When testing __GNUC__, exclude clang. * lib/_Noreturn.h (_Noreturn): Likewise. * lib/aligned-malloc.h (aligned_free, aligned_malloc): Likewise. * lib/base32.h: Likewise. * lib/base64.h: Likewise. * lib/dfa.c (FALLTHROUGH): Likewise. * lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, opendir, fdopendir): Likewise. * lib/intprops-internal.h: Likewise. * lib/jit/cache.h (clear_cache): Likewise. * lib/malloc.in.h (memalign): Likewise. * lib/mcel.h: Likewise. * lib/regex.h: Likewise. * lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE): Likewise. * lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC, fdopen, fopen, popen, tmpfile): Likewise. * lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, strdup, strndup): Likewise. * lib/verify.h: Likewise. * lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, wcsdup): Likewise. * lib/xalloc-oversized.h (xalloc_oversized): Likewise. * lib/fenv-private.h (_FPU_GETCW, _FPU_SETCW, _FPU_GETFPSR, _FPU_SETFPSR): When testing __GNUC__, exclude clang. Use different builtins for clang. * lib/hamt.h (GL_HAMT_THREAD_SAFE): When testing __GNUC__, exclude clang. Enable for clang >= 4. * lib/astrxfrm.c: Use _GL_GNUC_PREREQ. * lib/readutmp.c: Likewise. * lib/strftime.c: Likewise. * tests/test-asyncsafe-linked_list-strong.c: Likewise. * tests/test-asyncsafe-linked_list-weak.c: Likewise. * tests/test-c-strtod-mt.c: Likewise. * tests/test-c-strtof-mt.c: Likewise. * tests/test-c-strtold-mt.c: Likewise. * tests/test-gmtime_r-mt.c: Likewise. * tests/test-intprops.c: Likewise. * tests/test-limits-h.c: Likewise. * tests/test-localtime_r-mt.c: Likewise. * tests/test-memrchr.c: Likewise. * tests/test-nl_langinfo-mt.c: Likewise. * tests/test-setlocale_null-mt-all.c: Likewise. * tests/test-setlocale_null-mt-one.c: Likewise. * tests/test-statat.c: Likewise. * tests/test-xvasprintf.c: Likewise.
Bruno Haible e4415488 2024-08-27T18:45:22 doc: Update about psignal. Reported by Eric Gallager <egall@gwmail.gwu.edu> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00177.html>. * doc/posix-functions/psignal.texi: Mention the Solaris problem and the first parameter type.
Bruno Haible 43f7f428 2024-08-27T11:46:33 readutmp: In systemd mode, show sessions of type "web". Reported by Allison Karlitskaya <allison.karlitskaya@redhat.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00160.html>. * lib/readutmp.c (read_utmp_from_systemd): For a systemd session of type "web", add a single USER_PROCESS entry.
Bruno Haible 3ca40667 2024-08-27T00:49:07 Fix a test failure from a clang that masquerades as gcc 13. * tests/test-fenv-except-trapping-2.c (main): Skip the '4' test on clang, since clang 17 still generates buggy comparisons, like gcc versions < 8.
Bruno Haible e9508205 2024-08-27T00:19:14 Fix some of the warnings from a clang that masquerades as gcc 13. * lib/c-stack.c: Use _GL_GNUC_PREREQ to test for the gcc version. * lib/canonicalize.c: Likewise. * lib/diffseq.h: Likewise. * lib/file-has-acl.c: Likewise. * lib/freopen-safer.c: Likewise. * lib/getndelim2.c: Likewise. * lib/mini-gmp-gnulib.c: Likewise. * lib/propername.c: Likewise. * lib/quotearg.c: Likewise. * lib/savedir.c: Likewise. * lib/vasnprintf.c: Likewise. * tests/test-argmatch.c: Likewise. * tests/test-dup2.c: Likewise. * tests/test-explicit_bzero.c: Likewise. * tests/test-fcntl.c: Likewise. * tests/test-fopen.h: Likewise. * tests/test-getdtablesize.c: Likewise. * tests/test-getgroups.c: Likewise. * tests/test-listen.c: Likewise. * tests/test-localename.c: Likewise. * tests/test-memset_explicit.c: Likewise. * tests/test-open.h: Likewise. * tests/test-perror2.c: Likewise. * tests/test-select.h: Likewise. * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD): Don't use gnu_printf with clang. * lib/string-buffer.h: Likewise. * lib/textstyle.in.h: Likewise.
Bruno Haible 20b1f085 2024-08-26T21:29:03 relocatable-prog: Fix config.libpath failure (regression 2024-08-24). * build-aux/config.libpath: Expect 2 arguments, not 1.
Bruno Haible bf7e2ebd 2024-08-26T21:13:50 Fix compilation errors with clang that masquerades as gcc 13. Reported by Sam James and Paul Eggert. * m4/gnulib-common.m4 (gl_COMMON_BODY): For _GL_GNUC_PREREQ, ignore the values of __GNUC__ and __GNUC_MINOR__ defined by clang. * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Don't treat clang like GCC. * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Disable the _GL_CXXALIASWARN1 and _GL_CXXALIASWARN invocations for masquerading clang++.
Paul Eggert 467a5d31 2024-08-25T15:18:45 diffseq: don’t worry about clang * lib/diffseq.h: Stop worrying about __clang__ for pragmas. This basically reverts the previous change to this file. Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00145.html
Bruno Haible 3fef5edc 2024-08-24T20:52:28 copy-file: Add functions for copying non-confidential files. Reported by Patrice Dumas <pertusus@free.fr> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00142.html>. * lib/copy-file.h (copy_file_to, xcopy_file_to): New declarations. * lib/copy-file.c (copy_file_internal): New function, extracted from qcopy_file_preserving. (qcopy_file_preserving): Invoke it. (copy_file_to): New function. (handle_error_code): New function, extracted from xcopy_file_preserving. (xcopy_file_preserving): Invoke it. (xcopy_file_to): New function.
Bruno Haible e9655b05 2024-08-24T17:59:26 copy-file: First step towards more consistent function names. * lib/copy-file.h (xcopy_file_preserving): New declaration. (copy_file_preserving): Mark deprecated. * lib/copy-file.c (xcopy_file_preserving): Renamed from copy_file_preserving. (copy_file_preserving): New function. * tests/test-copy-file.c (main): Test xcopy_file_preserving instead of copy_file_preserving.
Bruno Haible 8a718331 2024-08-24T17:58:48 acl: First step towards more consistent function names. * lib/acl.h (xset_acl): New declaration. (set_acl): Mark deprecated. (xcopy_acl): New declaration. (copy_acl): Mark deprecated. * lib/set-acl.c (xset_acl): Renamed from set_acl. (set_acl): New function. * lib/copy-acl.c (xcopy_acl): Renamed from copy_acl. (copy_acl): New function. * tests/test-set-mode-acl.c (main): Test xset_acl instead of set_acl. * tests/test-copy-acl.c (main): Test xcopy_acl instead of copy_acl.
Paul Eggert 8f4e5f34 2024-08-24T08:22:47 diffseq: port to clang 18.1.6 in ‘patch’ * lib/diffseq.h: Omit the pragmas if __clang__.
Bruno Haible ab5cd68f 2024-08-24T16:33:05 relocatable-prog: Add support for 32-bit build on FreeBSD/powerpc64. Reference: <https://savannah.gnu.org/patch/?10469>. * build-aux/config.libpath: Accept a second argument. Use it on FreeBSD/powerpc64. (func_usage): Document it. * m4/relocatable.m4 (AC_LIB_LIBPATH): Require gl_HOST_CPU_C_ABI_32BIT. Pass HOST_CPU_C_ABI_32BIT to the config.libpath script. * modules/relocatable-prog (Files): Add m4/host-cpu-c-abi.m4.
Paul Eggert d85bd458 2024-08-23T13:50:32 diffseq: port to GCC 14.2.1 in ‘patch’ * lib/diffseq.h: Also suppress -Wanalyzer-use-of-uninitialized-value. This fixes an unwanted diagnostic when compiling GNU ‘patch’ with gcc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1) x86-64.
Bruno Haible 38b5fabd 2024-08-23T19:01:55 host-cpu-c-abi: Update comment, working around FreeBSD breakage. * m4/host-cpu-c-abi.m4: For powerpc64, recommend to test __BIG_ENDIAN__ or __LITTLE_ENDIAN__, not _BIG_ENDIAN or _LITTLE_ENDIAN, as FreeBSD 14 breaks the latter.
Paul Eggert 9765bc79 2024-08-21T23:00:38 mcel: port to uClibc-ng Problem reported by Waldemar Brodkorb in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00130.html * lib/mcel.h (mcel_scan): Don’t treat uClibc-ng like glibc.
Bruno Haible d86d4527 2024-08-21T23:22:26 stdio: Fix compilation error in C++ mode on Linux/riscv64 with musl. * lib/stdio.in.h (fpurge): Disable _GL_CXXALIASWARN invocation on non-glibc systems.
Bruno Haible b63008c3 2024-08-19T16:21:27 hasmntopt: Add tests. * tests/test-hasmntopt.c: New file. * modules/hasmntopt-tests: New file.
Bruno Haible b1c67ccf 2024-08-19T16:20:08 hasmntopt: New module. * lib/mntent.in.h: Add config.h check. (hasmntopt): New declaration. * lib/hasmntopt.c: New file, based on glibc/misc/mntent_r.c. * m4/hasmntopt.m4: New file. * m4/mntent_h.m4 (gl_MNTENT_H): Test whether hasmntopt is declared. (gl_MNTENT_H_REQUIRE_DEFAULTS): Initialize GNULIB_HASMNTOPT. (gl_MNTENT_H_DEFAULTS): Initialize HAVE_HASMNTOPT, HAVE_SETMNTENT, REPLACE_HASMNTOPT. * modules/mntent (Depends-on): Add snippet/arg-nonnull, snippet/c++defs, snippet/warn-on-use. (Makefile.am): Insert c++defs.h, arg-nonnull.h, warn-on-use.h into mntent.h. Substitute GNULIB_HASMNTOPT, HAVE_HASMNTOPT, HAVE_SETMNTENT, REPLACE_HASMNTOPT. * modules/hasmntopt: New file. * doc/glibc-functions/hasmntopt.texi: Mention the new module and the musl bug. * doc/glibc-functions/setmntent.texi: Update info about Android. * doc/glibc-functions/getmntent_r.texi: Likewise. * doc/glibc-functions/endmntent.texi: Likewise.
Bruno Haible 662fd337 2024-08-19T13:46:02 mntent: New module. * lib/mntent.in.h: New file. * m4/mntent_h.m4: New file. * modules/mntent: New file. * doc/glibc-headers/mntent.texi: Mention the new module. * top/maint.mk (gl_prefer_angle_bracket_headers_): Add mntent.h. * doc/gnulib-tool.texi (Style of #include statements): Add mntent.h to the list.
Bruno Haible 4c323aba 2024-08-17T15:07:59 once: Fix pthread-rwlock crashes with clang (regr. 2024-08-07). * lib/glthread/once.h: Don't mark pthread_rwlock_init, pthread_rwlockattr_init as weak if we are overriding them.
Collin Funk 3f206a33 2024-08-16T21:22:31 pty tests: Add C tests. * modules/pty-tests (Files): Add tests/test-pty.c. (Makefile.am): Add the new program. * tests/test-pty.c: New file.
Collin Funk 5b268910 2024-08-16T21:19:46 pty: Define 'struct winsize' on all platforms. * modules/pty (Depends-on): Add termios. * lib/pty.in.h: Make comments more accurate. (struct winsize): Remove forward declaration.
Bruno Haible e934b66f 2024-08-16T22:07:19 gitsub.sh: For a submodule, merge from the right remote branch. Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> at <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00101.html>. * top/gitsub.sh (func_upgrade): For a submodule, use 'git branch' to determine the branch to merge from, instead of assuming that it is always the 'master' branch.
Bruno Haible 5c735437 2024-08-16T18:24:54 gnulib-tool.py: Correct the result of --extract-dependents. * pygnulib/GLModuleSystem.py (GLModule.getDependents): Add the current module's test module, if that exists.
Bruno Haible b254680d 2024-08-16T17:57:02 gnulib-tool.py: Don't treat 'valgrind-tests' as a tests module. Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00093.html>. * pygnulib/GLModuleSystem.py (_isTestsModuleName): New function. (GLModuleSystem.list, GLModule.isNonTests, GLModule.getApplicability, GLModule.getDependencies, GLModule.getAutomakeSnippet_Unconditional, GLModule.getLicense): Use it.
Bruno Haible a1edb3a3 2024-08-16T03:14:18 termios: Tweak doc. * doc/posix-headers/termios.texi: Update list of platforms.
Paul Eggert f3eeabad 2024-08-15T06:01:18 Add ChangeLog entry for last commit.
Paul Eggert 48384fd1 2024-08-14T20:04:42 verror: allow library name-spacing of verror Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00085.html * lib/error.c (verror, verror_at_line) [!_LIBC]: #undef only if the corresponding GNULIB_defined_... macros are defined. * lib/error.in.h (verror, verror_with_line): Don't define as macros if they are already defined, or if _GL_NO_INLINE_ERROR is defined. This may lose some niceties with GCC warnings, but the code’s valid.
Paul Eggert 959152ba 2024-08-14T18:03:54 error: merge from glibc and with verror * lib/error.c: Merge changes since 2018 from glibc. ----- The following changes are taken from glibc: (__error_internal, __error_at_line_internal): New functions, with most of the old error and error_at_line_internal but with va_list and with a new trailing mode_args, for wide character mode. (error_tail): Add trailing arg. (error_tail, __error_internal, __error_at_line_internal): Redo _LIBC implementation with respect to cancelation. [_LIBC]: Include <libc-lock.h>, not <bits/libc-lock.h>. ----- The following changes are specific to Gnulib: (__error_internal, __error_at_line_internal, error_tail) [!_LIBC]: Use macros to define away the new trailing arg, and to name the internal functions to verror and verror_at_line. (verror, verror_at_line) [!_LIBC]: Undef so that we omit the __gl_error_call business when defining these functions. * lib/error.in.h: Include stdarg.h. (verror, verror_at_line): New decls and macros. * m4/error_h.m4 ([gl_ERROR_H]): Always compile error.c if the verror module is also present. * modules/verror (Files, lib_SOURCES): Remove lib/verror.h, lib/verror.c. (Depends-on): Remove stdio, xvasprintf. (configure.ac-early): Define gl_HAVE_MODULE_VERROR so that the error module compiles error.c. Not sure if this is the standard way to do this, but it seems to work. * modules/verror (Include), tests/test-verror.c: Include error.h, not verror.h.
Paul Eggert 5bdbf2b2 2024-08-14T14:06:05 error: it’s cold This mimics what glibc is doing nowadays. * lib/error.in.h (error, error_at_line): * lib/verror.h (verror, verror_at_line): Declare with _GL_ATTRIBUTE_CODE.
Bruno Haible a66864d7 2024-08-14T16:43:34 pthread-rwlock-extra-tests: Exclude this test from packages by default. * tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Add comment. * modules/pthread-rwlock-extra-tests (Status): Mark as longrunning-test.
Bruno Haible bf9b3c5f 2024-08-14T16:14:27 tests: Fix link errors (regression 2024-08-12). * modules/chown-tests (Makefile.am): Link test-chown with LIBINTL. * modules/lchown-tests (Makefile.am): Link test-lchown with LIBINTL. * modules/stat-time-tests (Makefile.am): Link test-stat-time with LIBINTL.
Bruno Haible 10678859 2024-08-13T08:38:22 mbrtoc16: Fix compilation error on Haiku. * lib/uchar.in.h (mbrtoc16): Fix typo.
Collin Funk 79216cc1 2024-08-12T20:11:19 termios tests: Check for struct winsize. * tests/test-termios.c (t2): Make sure inclusion of termios.h allows use of struct winsize.
Collin Funk afbe2842 2024-08-12T20:09:01 termios: Define struct winsize on all platforms. * doc/posix-headers/termios.texi (termios.h): Mention struct winsize is defined in <sys/ioctl.h> on glibc. * lib/termios.in.h (struct winsize): Define or include. * m4/termios_h.m4 (gl_TERMIOS_H): Check for a definition of struct winsize. * modules/termios (Makefile.am): Replace AC_SUBST variables.
Bruno Haible 616a1dad 2024-08-12T17:15:10 errno tests: Avoid test failure on Haiku. * doc/posix-headers/errno.texi: Mention the Haiku problem. * tests/test-errno.c: On Haiku, don't check that the error numbers are positive.
Bruno Haible 32601dbf 2024-08-12T17:11:35 errno: Ensure ESOCKTNOSUPPORT gets defined. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ESOCKTNOSUPPORT is defined. * lib/errno.in.h (ESOCKTNOSUPPORT, GNULIB_defined_ESOCKTNOSUPPORT): New macros. * lib/strerror-override.h (strerror_override): Declare also if GNULIB_defined_ESOCKTNOSUPPORT is defined. * lib/strerror-override.c (strerror_override): Handle ESOCKTNOSUPPORT. * lib/strerrorname_np.c (strerrorname_np): Move ESOCKTNOSUPPORT code to the POSIX section. * doc/posix-headers/errno.texi: Document the Haiku problem.
Bruno Haible f59ff6be 2024-08-12T16:15:50 fdutimensat, utimensat tests: Fix test failures on Cygwin. * tests/nap.h: Include concat-filename.h, xgetcwd.h. (nap_file): New variable. (nap_get_stat, clear_temp_file): Use nap_file, not TEMPFILE. (nap): Initialize nap_file. * modules/chown-tests (Depends-on): Add xconcat-filename, xgetcwd. * modules/fchownat-tests (Depends-on): Likewise. * modules/fdutimensat-tests (Depends-on): Likewise. * modules/futimens-tests (Depends-on): Likewise. * modules/lchown-tests (Depends-on): Likewise. * modules/stat-time-tests (Depends-on): Likewise. * modules/utime-tests (Depends-on): Likewise. * modules/utimens-tests (Depends-on): Likewise. * modules/utimensat-tests (Depends-on): Likewise.
Bruno Haible 34d57605 2024-08-12T14:56:46 pthread-rwlock: Attempt harder to avoid test failure on macOS. * tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the minimum interval to 200 ms on macOS.
Bruno Haible e85cc595 2024-08-12T14:18:02 pthread-rwlock: Attempt harder to avoid test failure on macOS. * tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the minimum interval to 100 ms on macOS.
Bruno Haible 9bf0d8e5 2024-08-12T13:15:42 pthread-rwlock: Attempt harder to avoid test failure on macOS. * tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the minimum interval to 50 ms on macOS.
Bruno Haible 6fc3ac8f 2024-08-12T11:24:40 pthread-rwlock tests: Move the waitqueue test into a separate module. * modules/pthread-rwlock-extra-tests: New file. * modules/pthread-rwlock-tests: Revert 2024-08-07 changes. (Depends-on): Add pthread-rwlock-extra-tests.
Bruno Haible ef4c430e 2024-08-12T11:15:37 pthread-rwlock: Attempt to avoid test failure on some more machines. * tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the minimum interval to 20 ms on macOS.
Collin Funk c6ced39e 2024-08-11T13:53:48 htonl: Fix link errors on Windows. Reported by Bruno Haible in: <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00066.html>. * lib/arpa_inet.in.h (htons, htonl, ntohs, ntohl): Only define when not declared by the system. * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set default behavior for htonl functions. * m4/htonl.m4 (gl_FUNC_HTONL): Check if -lws2_32 is required. Only check for declarations on POSIX systems. * modules/arpa_inet (Makefile.am): Substitute new Makefile variables. * modules/htonl (Files): Add m4/sys_socket_h.m4. (Depends-on): Remove endian condition. (Link): Add $(HOTNL_LIB). * modules/htonl-tests: Link to @HTONL_LIB@.
Bruno Haible 841eaf11 2024-08-11T21:01:38 doc: Update regarding Windows <winsock2.h> functions. * doc/posix-functions/accept.texi: Mention that it's declared elsewhere on native Windows. * doc/posix-functions/bind.texi: Likewise. * doc/posix-functions/connect.texi: Likewise. * doc/posix-functions/getpeername.texi: Likewise. * doc/posix-functions/getsockname.texi: Likewise. * doc/posix-functions/getsockopt.texi: Likewise. * doc/posix-functions/listen.texi: Likewise. * doc/posix-functions/recv.texi: Likewise. * doc/posix-functions/recvfrom.texi: Likewise. * doc/posix-functions/select.texi: Likewise. * doc/posix-functions/send.texi: Likewise. * doc/posix-functions/sendto.texi: Likewise. * doc/posix-functions/setsockopt.texi: Likewise. * doc/posix-functions/shutdown.texi: Likewise. * doc/posix-functions/socket.texi: Likewise. * doc/pastposix-functions/gethostbyaddr.texi: Don't say that the function is missing on native Windows. * doc/pastposix-functions/gethostbyname.texi: Likewise. * doc/posix-functions/getprotobyname.texi: Likewise. * doc/posix-functions/getprotobynumber.texi: Likewise. * doc/posix-functions/getservbyname.texi: Likewise. * doc/posix-functions/getservbyport.texi: Likewise. * doc/posix-functions/htonl.texi: Likewise. * doc/posix-functions/htons.texi: Likewise. * doc/posix-functions/inet_addr.texi: Likewise. * doc/posix-functions/inet_ntoa.texi: Likewise. * doc/posix-functions/ntohl.texi: Likewise. * doc/posix-functions/ntohs.texi: Likewise. * doc/posix-functions/gethostname.texi: Update.
Paul Eggert 8fa1fba5 2024-08-10T21:47:07 test-fdutimensat: fix newly-added test Problem reported by Bruno Haible and Collin Funk in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00061.html https://lists.gnu.org/r/bug-gnulib/2024-08/msg00064.html * tests/test-utimens.h (test_utimens): Fix typo in new test, which causes the test to break on file systems that are not noatime.
Collin Funk c341a871 2024-08-10T17:16:45 htonl: Add tests. * modules/htonl-tests: New file. * tests/test-htonl.c: New file.
Collin Funk e289cd10 2024-08-10T17:15:07 htonl: New module. * modules/htonl: New file. * lib/arpa_inet.c: New file. * m4/htonl.m4: New file. * modules/arpa_inet (Files): Add lib/arpa_inet.c. (Depends-on): Add extern-inline. * lib/arpa_inet.in.h (htons, htonl, ntohs, ntohl): New declarations. * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Define REPLACE_HTONL. * doc/posix-functions/htons.texi (htons): Mention the module. * doc/posix-functions/htonl.texi (htonl): Likewise. * doc/posix-functions/ntohs.texi (ntohs): Likewise. * doc/posix-functions/ntohl.texi (ntohl): Likewise.
Bruno Haible dd629467 2024-08-10T12:48:55 Make sure gperf-generated files are the same in VPATH builds. Reported by Patrice Dumas <pertusus@free.fr> in <https://lists.gnu.org/archive/html/bug-texinfo/2024-08/msg00030.html>. * modules/iconv_open (Makefile.am): Eliminate directory names from the generated iconv_open-aix.h, iconv_open-hpux.h, iconv_open-irix.h, iconv_open-osf.h, iconv_open-solaris.h, iconv_open-zos.h. * modules/unicase/locale-language (Makefile.am): Eliminate directory names from the generated unicase/locale-languages.h. * modules/unicase/special-casing (Makefile.am): Eliminate directory names from the generated unicase/special-casing-table.h. * modules/unictype/bidiclass-byname (Makefile.am): Eliminate directory names from the generated unictype/bidi_byname.h. * modules/unictype/category-byname (Makefile.am): Eliminate directory names from the generated unictype/categ_byname.h. * modules/unictype/combining-class-byname (Makefile.am): Eliminate directory names from the generated unictype/combiningclass_byname.h. * modules/unictype/incb-byname (Makefile.am): Eliminate directory names from the generated unictype/incb_byname.h. * modules/unictype/joininggroup-byname (Makefile.am): Eliminate directory names from the generated unictype/joininggroup_byname.h. * modules/unictype/joiningtype-byname (Makefile.am): Eliminate directory names from the generated unictype/joiningtype_byname.h. * modules/unictype/property-byname (Makefile.am): Eliminate directory names from the generated unictype/pr_byname.h. * modules/unictype/scripts (Makefile.am): Eliminate directory names from the generated unictype/scripts_byname.h. * modules/uninorm/composition (Makefile.am): Eliminate directory names from the generated uninorm/composition-table.h.
Paul Eggert 7574f5c1 2024-08-09T14:33:31 full-read, etc.: prefer signed types * lib/full-read.h, lib/full-write.h, lib/safe-read.h, lib/safe-write.h: Include idx.h. * lib/full-write.c (full_read, full_write): Now accept and returns idx_t. * lib/safe-read.c (bufptr): New type, since apps are not supposed to #define keywords like ‘const’. (safe_read, safe_write): Now accept idx_t and return ptrdiff_t. * lib/safe-read.h (SAFE_READ_ERROR): * lib/safe-write.h (SAFE_WRITE_ERROR): Now ptrdiff_t, not size_t. * modules/full-read, modules/full-write, modules/safe-read: * modules/safe-write (Depends-on): Add idx.
Bruno Haible 94add22a 2024-08-09T22:18:16 sig2str: Align with POSIX:2024. * lib/signal.in.h (SIG2STR_MAX): New macro. (sig2str, str2sig): New declarations. * lib/sig2str.h: Don't include intprops.h. (SIG2STR_MAX): Remove macro. (sig2str, str2sig): Remove declarations. * lib/sig2str.c: Include <signal.h> as the specification header. * m4/signal_h.m4 (gl_SIGNAL_H): Test whether sig2str, str2sig are declared. (gl_SIGNAL_H_REQUIRE_DEFAULTS): Initialize GNULIB_SIG2STR. (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIG2STR, HAVE_STR2SIG. * m4/sig2str.m4 (gl_FUNC_SIG2STR): Require gl_SIGNAL_H_DEFAULTS. Check also for str2sig. Set HAVE_SIG2STR, HAVE_STR2SIG. * modules/signal-h (Makefile.am): Substitute GNULIB_SIG2STR, HAVE_SIG2STR, HAVE_STR2SIG. * modules/sig2str (Depends-on): Add signal-h. Remove intprops. (configure.ac): Test HAVE_SIG2STR, HAVE_STR2SIG. Invoke gl_SIGNAL_MODULE_INDICATOR. (Include): Add <signal.h>. * doc/posix-functions/sig2str.texi: Mention as implemented through the sig2str module. * doc/posix-functions/str2sig.texi: Likewise.
Paul Eggert 720ddf92 2024-08-09T14:03:44 test-utime: port to noatime file systems Problem encountered on Ubuntu 24.04 zfs mounted noatime. * tests/test-fdutimensat.c (main): * tests/test-futimens.h (test_futimens): * tests/test-lutimens.h (test_lutimens): * tests/test-utime.c (test_utime): * tests/test-utimens-common.h (checkable_atime): New function. * tests/test-utimens.h (test_utimens): * tests/test-utimensat.c (main): Do not check atime on file systems mounted noatime.
Bruno Haible b12e697b 2024-08-09T11:59:10 pthread-rwlock: Attempt to avoid test failure on some machines. Reported by Pádraig Brady <P@draigBrady.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00050.html>. * tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the minimum interval to 10 ms. * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
Bruno Haible a6c9a067 2024-08-09T04:40:51 Fix recent ChangeLog entry. Reported by Collin Funk.
Bruno Haible 81868618 2024-08-09T02:09:03 doc: Update for other functions added in POSIX:2024. * doc/posix-functions/be16toh.texi: New file. * doc/posix-functions/be32toh.texi: New file. * doc/posix-functions/be64toh.texi: New file. * doc/posix-functions/dcgettext_l.texi: New file. * doc/posix-functions/dcngettext_l.texi: New file. * doc/posix-functions/dgettext_l.texi: New file. * doc/posix-functions/dngettext_l.texi: New file. * doc/posix-functions/getlocalename_l.texi: New file. * doc/posix-functions/gettext_l.texi: New file. * doc/posix-functions/htobe16.texi: New file. * doc/posix-functions/htobe32.texi: New file. * doc/posix-functions/htobe64.texi: New file. * doc/posix-functions/htole16.texi: New file. * doc/posix-functions/htole32.texi: New file. * doc/posix-functions/htole64.texi: New file. * doc/posix-functions/le16toh.texi: New file. * doc/posix-functions/le32toh.texi: New file. * doc/posix-functions/le64toh.texi: New file. * doc/posix-functions/ngettext_l.texi: New file. * doc/posix-functions/posix_close.texi: New file. * doc/posix-functions/posix_devctl.texi: New file. * doc/posix-functions/posix_getdents.texi: New file. * doc/posix-functions/posix_spawn_file_actions_addchdir.texi: New file. * doc/posix-functions/posix_spawn_file_actions_addfchdir.texi: New file. * doc/posix-functions/sig2str.texi: New file. * doc/posix-functions/str2sig.texi: New file. * doc/posix-functions/tcgetwinsize.texi: New file. * doc/posix-functions/tcsetwinsize.texi: New file. * doc/posix-functions/wcslcat.texi: New file. * doc/posix-functions/wcslcpy.texi: New file. * doc/gnulib.texi (Functions in <devctl.h>, Functions in <endian.h>): New sections. (Functions in <dirent.h>, Functions in <libintl.h>, Functions in <locale.h>, Functions in <signal.h>, Functions in <spawn.h>, Functions in <termios.h>, Functions in <unistd.h>, Functions in <wchar.h>): Include the other new files. * doc/posix-functions/strlcat.texi: Update. * doc/posix-functions/strlcpy.texi: Update.
Bruno Haible a9319d2f 2024-08-09T00:15:16 doc: Update for ISO C functions added in POSIX:2024. * doc/posix-headers/CMPLX*.texi: New files. * doc/posix-headers/at_quick_exit.texi: New file. * doc/posix-headers/atomic_*.texi: New files. * doc/posix-headers/kill_dependency.texi: New file. * doc/posix-headers/*.texi: Update. * doc/gnulib.texi (Functions in <stdatomic.h>): New section. (Functions in <complex.h>, Functions in <stdlib.h>): Include the other new files.
Bruno Haible 394dea94 2024-08-08T22:38:38 doc: Update for ISO C header files added in POSIX:2024. * doc/posix-headers/*.texi: Update.
Bruno Haible 7499523a 2024-08-08T16:46:38 doc: Update for header files added in POSIX:2024. * doc/posix-headers/devctl.texi: New file. * doc/posix-headers/endian.texi: Renamed from doc/glibc-headers/endian.texi. Update. * doc/posix-headers/libintl.texi: Renamed from doc/glibc-headers/libintl.texi. Update. * doc/gnulib.texi (Header File Substitutes, Glibc Header File Substitutes): Update.
Bruno Haible b323c0c4 2024-08-08T16:15:20 doc: Update for Cygwin 3.5.3. * doc/posix-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
Bruno Haible 32944e37 2024-08-08T03:21:34 math: Fix INFINITY and NAN on mingw. * doc/posix-headers/math.texi: Mention this mingw bug. * lib/math.in.h (INFINITY, NAN): Replace also on mingw.
Bruno Haible 496a7aee 2024-08-08T01:46:08 doc: Update for OpenBSD 7.5. * doc/posix-headers/*.texi: Update. * doc/glibc-headers/*.texi: Likewise. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
Bruno Haible f427e53f 2024-08-08T00:54:03 Avoid compiler warnings in some configure tests. * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Allocate more room for local array 'name'. * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK): Don't pass a NULL pointer to pthread_mutex_timedlock.
Bruno Haible d6cd315d 2024-08-07T19:53:41 pthread-rwlock tests: Strengthen tests. * tests/test-pthread-rwlock-waitqueue.c: New file. * modules/pthread-rwlock-tests (Files): Add it. (Depends-on): Add extensions, nanosleep, stdbool. (Makefile.am): Arrange to test test-pthread-rwlock-waitqueue.
Bruno Haible f7576a33 2024-08-07T19:53:37 pthread-rwlock: Fix default wait queue behaviour on glibc/Linux. * lib/pthread.in.h: If REPLACE_PTHREAD_RWLOCK_INIT is 1 but REPLACE_PTHREAD_RWLOCK_DESTROY is 0, override PTHREAD_RWLOCK_INITIALIZER. * lib/pthread-rwlock.c (pthread_rwlockattr_init) [PTHREAD_RWLOCK_BAD_WAITQUEUE]: New function. (pthread_rwlock_init) [PTHREAD_RWLOCK_BAD_WAITQUEUE]: New function. * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Check for reasonable pthread_rwlock wait queue handling. Set REPLACE_PTHREAD_RWLOCK_INIT and REPLACE_PTHREAD_RWLOCKATTR_INIT and define PTHREAD_RWLOCK_BAD_WAITQUEUE if not. * modules/pthread-rwlock (configure.ac): Update GL_COND_OBJ_PTHREAD_RWLOCK condition. * doc/posix-functions/pthread_rwlock_rdlock.texi: Mark the glibc problem as fixed. * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise. * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
Paul Eggert 66652743 2024-08-07T07:23:51 errno-tests: port to GNU/Hurd Test for errno distinctness dynamically rather than statically, since the static test blows up the compiler on Hurd. Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00039.html Also, test that errno values can all be used in #if, and improve diagnostics. * tests/test-errno.c: Include stdio.h, stdlib.h, string.h. (USABLE_IN_IF): New macro. Use it to check errno values in #if. (ERRTAB): New macro. (struct nameval): New type. (errtab): New global variable. (errtab_cmp): New function. (main): Test for errno distinctness dynamically not statically. Diagnose lack of distinctness better.
Bruno Haible 740913a3 2024-08-07T12:21:05 fchmodat: Fix cross-compilation guess. * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Tolerate Linux version number in $host_os.
Bruno Haible ede641dc 2024-08-06T17:04:48 windows-mutex, windows-timedmutex: Fix mistake in last commit. * lib/windows-mutex.c (glwthread_mutex_init): Initialize the 'owner' field. * lib/windows-timedmutex.c (glwthread_timedmutex_init): Likewise.
Bruno Haible 63b8ef1d 2024-08-06T16:03:41 doc: Mention a macOS bug. * doc/posix-functions/pthread_rwlock_trywrlock.texi: Mention a macOS bug.
Bruno Haible fe3c1700 2024-08-06T15:45:02 mtx tests: Strengthen tests. * tests/test-mtx-type.c: New file. * modules/mtx-tests (Files): Add it. (Makefile.am): Arrange to test test-mtx-type.
Bruno Haible f9f125c4 2024-08-06T15:43:16 pthread-mutex tests: Strengthen tests. * tests/test-pthread-mutex-type.c: New file. * modules/pthread-mutex-tests (Files): Add it. (Makefile.am): Arrange to test test-pthread-mutex-type. * doc/posix-functions/pthread_mutex_lock.texi: Mention FreeBSD and NetBSD problem. * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
Bruno Haible 65162c35 2024-08-06T15:20:23 windows-timedrecmutex: Add tests. * tests/test-windows-timedrecmutex-type.c: New file. * modules/windows-timedrecmutex-tests: New file.
Bruno Haible 2f65f093 2024-08-06T15:19:31 windows-recmutex: Add tests. * tests/test-windows-recmutex-type.c: New file. * modules/windows-recmutex-tests: New file.
Bruno Haible d46563a0 2024-08-06T15:18:18 windows-timedmutex: Add tests. * tests/test-windows-timedmutex-type.c: New file. * modules/windows-timedmutex-tests: New file.
Bruno Haible 735ca888 2024-08-06T15:17:03 windows-mutex: Add tests. * tests/test-windows-mutex-type.c: New file. * modules/windows-mutex-tests: New file.
Bruno Haible 0cd58254 2024-08-06T15:14:25 windows-mutex, windows-timedmutex: Follow pthread_mutex_trylock spec. * lib/windows-mutex.h (glwthread_mutex_t): Add 'owner' field. * lib/windows-mutex.c: Include <stdlib.h>. (glwthread_mutex_lock): Set the 'owner' field after entering the critical section. (glwthread_mutex_trylock): Detect whether the lock was previously locked by this thread. Set the 'owner' field after entering the critical section. (glwthread_mutex_unlock): Clear the 'owner' field before leaving the critical section. * lib/windows-timedmutex.h (glwthread_timedmutex_t): Add 'owner' field. * lib/windows-timedmutex.c: (glwthread_timedmutex_lock): Set the 'owner' field after entering the critical section. (glwthread_timedmutex_trylock): Detect whether the lock was previously locked by this thread. Set the 'owner' field after entering the critical section. (glwthread_timedmutex_unlock): Clear the 'owner' field before leaving the critical section.
Bruno Haible 884f4f3a 2024-08-06T01:53:10 Improve a comment. With info from Sam James <sam@gentoo.org>. * m4/gnulib-common.m4 (gl_COMMON_BODY): Reference the gcc bug that is the reason for _GL_BRACKET_BEFORE_ATTRIBUTE.
Bruno Haible 017e80f8 2024-08-06T01:05:05 math: Fix HUGE_VAL and HUGE_VALL on AIX. * lib/math.in.h (HUGE_VAL, HUGE_VALL): Override on AIX. * doc/posix-headers/math.texi: Mention this AIX problem.
Bruno Haible 118bce49 2024-08-05T21:31:28 xstrtol, xstrtoll tests: Fix test failures. * tests/test-xstrtol.c (is_GNULIB_strtol): New macro. (main): Use it in the expected test results. * tests/test-xstrtoll.c (is_GNULIB_strtol): New macro.
Bruno Haible 26aab01a 2024-08-05T20:24:44 gnulib-tool.py: Fix testdirs created with --without-tests. * pygnulib/GLTestDir.py (GLTestDir.execute): Don't assume that 'gltests' is the last subdirectory with a configure.ac.
Bruno Haible 14b52839 2024-08-05T16:27:13 Fix compilation error in C++ mode with clang >= 16 (regr. 2024-07-29). * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_BRACKET_BEFORE_ATTRIBUTE with clang++ 16 or newer.
Bernhard Voelker 9b825170 2024-08-04T18:14:32 dfa-tests: Detect test-dfa-match-aux error. * tests/test-dfa-invalid-merge.sh: Set fail=1 if test-dfa-match-aux fails. Remove redundant 'returns_ 0'.
Bernhard Voelker ff7367f9 2024-08-04T18:12:16 test-framework-sh: Improve returns_ example. In the shell test framework, an error is either flagged by setting the shell variable fail=1, or by invoking the fail_ function with an error diagnostic. * tests/init.sh (returns_): Change example code in the comment to use '|| fail=1' properly.
Bruno Haible 27aad5e3 2024-08-05T08:03:53 once: Add missing .m4 file. Reported by Collin Funk. * m4/once.m4: New file.
Bruno Haible 1fcc5aa8 2024-08-04T23:56:17 mtx-tests: Reduce dependencies. * tests/test-mtx.c: Don't include glthread/lock.h. * modules/mtx-tests (Depends-on): Remove lock.
Bruno Haible fd560436 2024-08-04T23:56:13 thread: Reduce dependencies. * lib/glthread/thread.c: Don't include glthread/lock.h. * modules/thread (Depends-on): Remove lock.
Bruno Haible c8c3bf1d 2024-08-04T23:56:10 uchar-c23: Reduce dependencies. * lib/lc-charset-unicode.c: Include glthread/once.h instead of glthread/lock.h. * modules/uchar-c23 (Depends-on): Add once. Remove lock.
Bruno Haible 88e4ffa2 2024-08-04T23:56:07 strsignal: Reduce dependencies. * lib/strsignal.c: Include glthread/once.h instead of glthread/lock.h. * modules/strsignal (Depends-on): Add once. Remove lock.
Bruno Haible 011de803 2024-08-04T23:55:53 immutable: Clarify dependencies. * lib/immutable.c: Include glthread/once.h instead of glthread/lock.h. * modules/immutable (Depends-on): Add once.