]> Savannah Git Hosting - gnulib.git/log
gnulib.git
3 years agoregex: sync with glibc
Paul Eggert [Tue, 21 Sep 2021 15:14:05 +0000 (08:14 -0700)]
regex: sync with glibc

* config/srclist.txt: Uncomment-out posix/regex.c and related
files, as the Gnulib versions have now been copied to glibc.
* lib/intprops.h: Remove authorship comment, as per glibc guidelines.

3 years agomaint: Avoid syntax-check failure for empty gnulib submodule.
Simon Josefsson [Mon, 20 Sep 2021 07:40:47 +0000 (09:40 +0200)]
maint: Avoid syntax-check failure for empty gnulib submodule.

* top/maint.mk (gnulib_dir): Fall back to GNULIB_SRCDIR if
submodule is not checked out.

3 years agoRelicense qemu.h under LGPLv2+.
Bruno Haible [Sun, 19 Sep 2021 22:09:45 +0000 (00:09 +0200)]
Relicense qemu.h under LGPLv2+.

* tests/qemu.h: Change license header.

3 years agoialloc: Update license headers after license change from 2021-08-29.
Bruno Haible [Sun, 19 Sep 2021 21:40:03 +0000 (23:40 +0200)]
ialloc: Update license headers after license change from 2021-08-29.

* lib/ialloc.h: Update license header.
* lib/ialloc.c: Likewise.

3 years agoImprove 'configure --help' output for crypto modules.
Bruno Haible [Sun, 19 Sep 2021 13:14:24 +0000 (15:14 +0200)]
Improve 'configure --help' output for crypto modules.

* m4/af_alg.m4 (gl_AF_ALG): List the hash functions for which we use the
Linux crypto. Also mention that we use it on files only.
* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use manual line breaking, not the
line-filling style of AS_HELP_STRING. Show that --with-openssl takes an
optional argument. List the hash functions for which we use the OpenSSL
library. Don't mention --with-linux-crypto if the af_alg module is not
in use. Mention that --with-linux-crypto applies only to the Linux
kernel. Mention that it gets used only when available. Mention that it
takes precedence only for files. In the error or warning, mention the
pre-built package name that people can install.

3 years agoAdd credit for a recent bug report.
Bruno Haible [Sun, 19 Sep 2021 01:37:51 +0000 (03:37 +0200)]
Add credit for a recent bug report.

3 years agostring, wchar: Don't require undefined m4 macros (regr. today).
Bruno Haible [Sun, 19 Sep 2021 01:11:19 +0000 (03:11 +0200)]
string, wchar: Don't require undefined m4 macros (regr. today).

Reported by Colin Watson <cjwatson@debian.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00078.html>.

* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Don't use m4_require
directly. Instead, invoke gl_STDLIB_H_REQUIRE_DEFAULTS.
* m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Likewise.

3 years agosm3-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:43:02 +0000 (01:43 +0200)]
sm3-buffer tests: New module.

* tests/test-sm3-buffer.c: Renamed from tests/test-sm3.c.
* modules/crypto/sm3-buffer-tests: Renamed from
modules/crypto/sm3-tests. Test tests/test-sm3-buffer.c instead of
tests/test-sm3.c.

3 years agosm3-buffer: New module.
Bruno Haible [Sat, 18 Sep 2021 23:42:57 +0000 (01:42 +0200)]
sm3-buffer: New module.

* lib/sm3-stream.c: New file, extracted from lib/sm3.c.
* lib/sm3.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, sm3_stream): Moved to sm3-stream.c.
* lib/sm3.h: Tweak.
* modules/crypto/sm3-buffer: New file, based on modules/crypto/sm3.
* modules/crypto/sm3: Rewritten.

3 years agosha512-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:42:20 +0000 (01:42 +0200)]
sha512-buffer tests: New module.

* tests/test-sha512-stream.c: Renamed from tests/test-sha512.c.
* modules/crypto/sha512-buffer-tests: New file, based on
modules/crypto/sha512-tests.
* modules/crypto/sha512-tests: Remove tests that are now in
modules/crypto/sha512-buffer-tests. Test tests/test-sha512-stream.c
instead of tests/test-sha512.c.

3 years agosha512: Clarify module to source relation.
Bruno Haible [Sat, 18 Sep 2021 23:40:46 +0000 (01:40 +0200)]
sha512: Clarify module to source relation.

* lib/sha512-stream.c: New file, extracted from lib/sha512.c.
* lib/sha512.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, shaxxx_stream, sha512_stream, sha384_stream): Moved to
sha512-stream.c.
* lib/sha512.h: Tweak.
* modules/crypto/sha512 (Files): Add lib/sha512-stream.c.
(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
(Makefile.am): Arrange to compile sha512-stream.c.
(Link): Mention $(LIB_CRYPTO).

3 years agosha256-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:39:47 +0000 (01:39 +0200)]
sha256-buffer tests: New module.

* tests/test-sha256-stream.c: Renamed from tests/test-sha256.c.
* modules/crypto/sha256-buffer-tests: New file, based on
modules/crypto/sha256-tests.
* modules/crypto/sha256-tests: Remove tests that are now in
modules/crypto/sha256-buffer-tests. Test tests/test-sha256-stream.c
instead of tests/test-sha256.c.

3 years agosha256: Clarify module to source relation.
Bruno Haible [Sat, 18 Sep 2021 23:38:36 +0000 (01:38 +0200)]
sha256: Clarify module to source relation.

* lib/sha256-stream.c: New file, extracted from lib/sha256.c.
* lib/sha256.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, shaxxx_stream, sha256_stream, sha224_stream): Moved to
sha256-stream.c.
* lib/sha256.h: Tweak.
* modules/crypto/sha256 (Files): Add lib/sha256-stream.c.
(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
(Makefile.am): Arrange to compile sha256-stream.c.
(Link): Mention $(LIB_CRYPTO).

3 years agosha1-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:37:51 +0000 (01:37 +0200)]
sha1-buffer tests: New module.

* tests/test-sha1-buffer.c: New file, based on tests/test-sha1.c.
* tests/test-sha1-stream.c: Renamed from tests/test-sha1.c.
(main): Remove sha1-buffer tests.
* modules/crypto/sha1-buffer-tests: New file, based on
modules/crypto/sha1-tests.
* modules/crypto/sha1-tests: Remove tests that are now in
modules/crypto/sha1-buffer-tests. Test tests/test-sha1-stream.c instead
of tests/test-sha1.c.

3 years agosha1: Clarify module to source relation.
Bruno Haible [Sat, 18 Sep 2021 23:36:29 +0000 (01:36 +0200)]
sha1: Clarify module to source relation.

* lib/sha1-stream.c: New file, extracted from lib/sha1.c.
* lib/sha1.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, sha1_stream): Moved to sha1-stream.c.
* lib/sha1.h: Correct indentation.
* modules/crypto/sha1 (Files): Add lib/sha1-stream.c.
(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
(Makefile.am): Arrange to compile sha1-stream.c.
(Link): Mention $(LIB_CRYPTO).

3 years agomd5-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:35:24 +0000 (01:35 +0200)]
md5-buffer tests: New module.

* tests/test-md5-buffer.c: New file, based on tests/test-md5.c.
* tests/test-md5-stream.c: Renamed from tests/test-md5.c.
(main): Remove md5-buffer tests.
* modules/crypto/md5-buffer-tests: New file, based on
modules/crypto/md5-tests.
* modules/crypto/md5-tests: Remove tests that are now in
modules/crypto/md5-buffer-tests. Test tests/test-md5-stream.c instead
of tests/test-md5.c.

3 years agomd5: Clarify module to source relation.
Bruno Haible [Sat, 18 Sep 2021 23:35:19 +0000 (01:35 +0200)]
md5: Clarify module to source relation.

* lib/md5-stream.c: New file, extracted from lib/md5.c.
* lib/md5.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, md5_stream): Moved to md5-stream.c.
* lib/md5.h: Tweak.
* modules/crypto/md5 (Files): Add lib/md5-stream.c.
(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
(Makefile.am): Arrange to compile md5-stream.c.
(Link): Mention $(LIB_CRYPTO).

3 years agomd4-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:33:31 +0000 (01:33 +0200)]
md4-buffer tests: New module.

* tests/test-md4-buffer.c: Renamed from tests/test-md4.c.
* modules/crypto/md4-buffer-tests: Renamed from
modules/crypto/md4-tests. Test tests/test-md4-buffer.c instead of
tests/test-md4.c.

3 years agomd4-buffer: New module.
Bruno Haible [Sat, 18 Sep 2021 23:32:01 +0000 (01:32 +0200)]
md4-buffer: New module.

* lib/md4-stream.c: New file, extracted from lib/md4.c.
* lib/md4.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, md4_stream): Moved to md4-stream.c.
* lib/md4.h: Reorder declarations.
* modules/crypto/md4-buffer: New file, based on modules/crypto/md4.
* modules/crypto/md4: Rewritten.

3 years agomd2-buffer tests: New module.
Bruno Haible [Sat, 18 Sep 2021 23:30:12 +0000 (01:30 +0200)]
md2-buffer tests: New module.

* tests/test-md2-buffer.c: Renamed from tests/test-md2.c.
* modules/crypto/md2-buffer-tests: Renamed from
modules/crypto/md2-tests. Test tests/test-md2-buffer.c instead of
tests/test-md2.c.

3 years agomd2-buffer: New module.
Bruno Haible [Sat, 18 Sep 2021 23:29:33 +0000 (01:29 +0200)]
md2-buffer: New module.

* lib/md2-stream.c: New file, extracted from lib/md2.c.
* lib/md2.c: Don't include stdlib.h, unlocked-io.h.
(BLOCKSIZE, md2_stream): Moved to md2-stream.c.
* lib/md2.h: Reorder declarations.
* modules/crypto/md2-buffer: New file, based on modules/crypto/md2.
* modules/crypto/md2: Rewritten.

3 years agostring, wchar: Don't cause link errors for rpl_free (regr. 2021-09-07).
Bruno Haible [Sat, 18 Sep 2021 14:31:52 +0000 (16:31 +0200)]
string, wchar: Don't cause link errors for rpl_free (regr. 2021-09-07).

* lib/string.in.h (free, rpl_free): Consider GNULIB_FREE_POSIX variable.
* lib/wchar.in.h (free, rpl_free): Likewise.
* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Require module
indicator variable initializations from the stdlib module.
* m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Likewise.
* modules/string (Makefile.am): Substitute GNULIB_FREE_POSIX in string.h.
* modules/wchar (Makefile.am): Substitute GNULIB_FREE_POSIX in wchar.h.

3 years agothreadlib: Avoid crashes in thread-related functions on Cygwin 3.2.0.
Bruno Haible [Fri, 17 Sep 2021 20:22:50 +0000 (22:22 +0200)]
threadlib: Avoid crashes in thread-related functions on Cygwin 3.2.0.

Reported by Brian Inglis via Akim Demaille in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00063.html>.

* m4/threadlib.m4 (gl_WEAK_SYMBOLS): Force a "guessing no" result on
Cygwin.

3 years agosimple-atomic: Port to Oracle Studio 12.6.
Bruno Haible [Mon, 13 Sep 2021 23:18:37 +0000 (01:18 +0200)]
simple-atomic: Port to Oracle Studio 12.6.

* lib/simple-atomic.c (asm) [0x590 <= __SUNPRO_C && __STDC__]:

3 years agoasyncsafe-spin: port to Oracle Studio 12.6 sparc
Paul Eggert [Mon, 13 Sep 2021 18:12:54 +0000 (11:12 -0700)]
asyncsafe-spin: port to Oracle Studio 12.6 sparc

Problem reported by Dennis Clarke via Eric Blake in:
https://lists.gnu.org/r/bug-gnulib/2021-09/msg00056.html
* lib/asyncsafe-spin.c (asm) [0x590 <= __SUNPRO_C && __STDC__]:
#define to __asm.

3 years agostdint-tests: long long preproc on recent Sun C
Paul Eggert [Mon, 13 Sep 2021 06:46:19 +0000 (23:46 -0700)]
stdint-tests: long long preproc on recent Sun C

* tests/test-stdint.c: Test long long preprocessor constants on
Oracle Developer Studio 12.6, where they should work.

3 years agoextern-inline: Fix syntax error on macOS with GCC 11 (regr. 2021-08-22).
Bruno Haible [Mon, 13 Sep 2021 05:28:09 +0000 (07:28 +0200)]
extern-inline: Fix syntax error on macOS with GCC 11 (regr. 2021-08-22).

Reported by Akim Demaille in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00052.html>.

* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Put _GL_UNUSED
before, not after, 'static'.

3 years agosigsegv: port to OpenBSD 6.8+ powerpc64
Christian Weisgerber [Sat, 11 Sep 2021 20:51:13 +0000 (13:51 -0700)]
sigsegv: port to OpenBSD 6.8+ powerpc64

* lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER):
Special case for __OpenBSD__ && __powerpc64__, needed due to:
https://github.com/openbsd/src/commit/5e649a8714ba05cf482011b7b7d1e5437b7c17db
which is part of the oldest currently-supported OpenBSD (6.8),
so we needn’t worry about older versions.

3 years agomaintainer-makefile: add 'can' to sc_prohibit_doubled_word
Pádraig Brady [Thu, 9 Sep 2021 15:16:03 +0000 (16:16 +0100)]
maintainer-makefile: add 'can' to sc_prohibit_doubled_word

* top/maint.mk (sc_prohibit_doubled_word): Check for "can can".

3 years agostrerror_r-posix: port even better to Android
Paul Eggert [Thu, 9 Sep 2021 02:18:37 +0000 (19:18 -0700)]
strerror_r-posix: port even better to Android

* lib/strerror_r.c: Use STRERROR_R_CHAR_P to decide whether the
system strerror_r returns char *, and HAVE_DECL_STRERROR_R to
decide whether it either does that or returns an integer.  In the
former case, use the system strerror_r even on platforms like
Android API level 23 that don’t have __xpg_strerror_r; also
check for strerror_r failure just in case.
* m4/error.m4 (gl_PREREQ_ERROR):
* m4/strerror_r.m4 (gl_PREREQ_STRERROR_R):
Use system extensions on Android, to avoid mishandling strerror_r
on API level 23 and later.
* modules/error, modules/strerror_r-posix (configure.ac):
Surround gl_PREREQ_ERROR with AS_IF instead of plain if, so that
AC_REQUIREs are propagated out.

3 years agostrerror_r-posix: port better to Android
Paul Eggert [Wed, 8 Sep 2021 16:45:46 +0000 (09:45 -0700)]
strerror_r-posix: port better to Android

* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move requirement of
gl_USE_SYSTEM_EXTENSIONS from here ...
(gl_FUNC_STRERROR_R_WORKS): ... to here, which is the macro that
actually needs it.  This avoids a bug where 'configure' tests
whether strerror_r has the POSIX API before enabling GNU
extensions.  On Android, enabling GNU extensions switches from the
POSIX to the GNU API.  Problem reported by Lucy Phipps in:
https://lists.gnu.org/r/bug-gnulib/2021-09/msg00026.html

3 years agostring, wchar: port rpl_free decl to Android
Paul Eggert [Wed, 8 Sep 2021 16:42:41 +0000 (09:42 -0700)]
string, wchar: port rpl_free decl to Android

* lib/string.in.h, lib/wchar.in.h:
(free): When replacing it, declare the unreplaced version too.
Problem reported by Lucy Phipps in:
https://lists.gnu.org/r/bug-gnulib/2021-09/msg00026.html

3 years agostring, wchar: avoid some namespace pollution
Paul Eggert [Wed, 8 Sep 2021 00:51:39 +0000 (17:51 -0700)]
string, wchar: avoid some namespace pollution

* lib/string.in.h, lib/wchar.in.h:
(free): Declare by hand instead of including stdlib.h.
This avoids some namespace pollution.  It should also avoid some
nested-include problems described by Lucy Phipps in:
https://lists.gnu.org/r/bug-gnulib/2021-09/msg00018.html
* modules/string, modules/wchar:
(Depends-on): Add stdlib, so that REPLACE_FREE has the right value.
(Makefile.am): Replace @REPLACE_FREE@ when creating the include file.

3 years agocrypto: revert previous change
Paul Eggert [Tue, 7 Sep 2021 21:49:09 +0000 (14:49 -0700)]
crypto: revert previous change

3 years agocrypto: add missing file af_alg.h
Paul Eggert [Tue, 7 Sep 2021 01:43:36 +0000 (18:43 -0700)]
crypto: add missing file af_alg.h

* modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
* modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
(Files): Add lib/af_alg.h, since the .c files include it.

3 years agoidx: break copying from glibc
Paul Eggert [Sat, 4 Sep 2021 16:45:06 +0000 (09:45 -0700)]
idx: break copying from glibc

* config/srclist.txt: Comment out idx.h, and bring back recent change.

3 years agosigsegv: Improve cross-compilation support for LoongArch CPU.
Sun Haiyong [Sat, 4 Sep 2021 13:06:43 +0000 (15:06 +0200)]
sigsegv: Improve cross-compilation support for LoongArch CPU.

* m4/stack-direction.m4 (SV_STACK_DIRECTION): Assume the stack grows
down on LoongArch.

3 years agodoc: Improve help related to bootstrap script.
Simon Josefsson [Sat, 4 Sep 2021 08:26:26 +0000 (10:26 +0200)]
doc: Improve help related to bootstrap script.

* doc/gnulib-tool.texi (VCS Issues): Make title more positive,
s/Issues/Integration/.  Some more bootstrap-related hints,
including changing suggested submodule path from .gnulib to gnulib
as this seems to be more wide-spread.

3 years agointprops: fix minor doc glitches
Paul Eggert [Sat, 4 Sep 2021 07:24:12 +0000 (00:24 -0700)]
intprops: fix minor doc glitches

* doc/intprops.texi (Integer Properties): Fix doc glitches.

3 years agodoc: Add suggestions on FDL texinfo usage.
Simon Josefsson [Sat, 4 Sep 2021 07:19:37 +0000 (09:19 +0200)]
doc: Add suggestions on FDL texinfo usage.

* doc/licenses-texi.texi (License Texinfo sources): Add texinfo
examples.

3 years agomaintainer-makefile: Add indentation syntax-check rule.
Simon Josefsson [Fri, 3 Sep 2021 19:59:43 +0000 (21:59 +0200)]
maintainer-makefile: Add indentation syntax-check rule.

* top/maint.mk (indent): Use AM_V_GEN and indent_args.
(sc_indent): New rule.
(indent_args): New variable.
(C_SOURCES): New variable, initialized to reasonable C files.
(exclude_file_name_regexp--indent): New variable.

3 years agoautoupdate
Karl Berry [Tue, 31 Aug 2021 15:30:42 +0000 (08:30 -0700)]
autoupdate

3 years agoidx: add commentary
Paul Eggert [Mon, 30 Aug 2021 18:15:20 +0000 (11:15 -0700)]
idx: add commentary

* lib/idx.h: Add comments about ssize_t and strlen, in
response to comments from Simon Josefsson in:
https://lists.gnu.org/r/bug-gnulib/2021-08/msg00196.html

3 years agoattribute: keep up with gnulib-common.m4
Paul Eggert [Mon, 30 Aug 2021 00:50:56 +0000 (17:50 -0700)]
attribute: keep up with gnulib-common.m4

* lib/attribute.h (ATTRIBUTE_DEALLOC, ATTRIBUTE_DEALLOC_FREE):
New macros, aliases for the _GL_-prefixed macros added
to gnulib-common.m4 last month.

3 years agosupersede: Fix test failure under QEMU user-mode for Linux/mips.
Bruno Haible [Mon, 30 Aug 2021 00:36:31 +0000 (02:36 +0200)]
supersede: Fix test failure under QEMU user-mode for Linux/mips.

* tests/test-supersede-open.h (test_open_supersede): Copy statbuf.st_dev
into a local variable of type dev_t.
* tests/test-supersede-fopen.h (test_fopen_supersede): Likewise.

3 years agospawn-pipe: Fix test failure when running under QEMU user-mode.
Bruno Haible [Mon, 30 Aug 2021 00:06:23 +0000 (02:06 +0200)]
spawn-pipe: Fix test failure when running under QEMU user-mode.

* tests/test-spawn-pipe-child.c: Include <stdbool.h>, <string.h>,
qemu.h.
(main): Under QEMU user-mode, allow fd 2 or fd 3 to be open.
* modules/spawn-pipe-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.

3 years agoexecute: Fix test failure when running under QEMU user-mode.
Bruno Haible [Mon, 30 Aug 2021 00:05:53 +0000 (02:05 +0200)]
execute: Fix test failure when running under QEMU user-mode.

* tests/test-execute-child.c: Include <stdbool.h>, qemu.h.
(main): Under QEMU user-mode, allow fd 3 to be open.
* modules/execute-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.

3 years agoposix_spawn_file_actions_addfchdir: Avoid test failure under QEMU.
Bruno Haible [Sun, 29 Aug 2021 23:56:46 +0000 (01:56 +0200)]
posix_spawn_file_actions_addfchdir: Avoid test failure under QEMU.

* tests/test-posix_spawn-fchdir.c: Include qemu.h.
(is_qemu): New variable.
(test): Under QEMU user-mode, don't expect that "pwd" produces the
result "/".
(main): Initialize is_qemu. Under QEMU user-mode, skip the relative file
name test.
* modules/posix_spawn_file_actions_addfchdir-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.

3 years agogetcwd tests: Avoid test failure when running under QEMU user-mode.
Bruno Haible [Sun, 29 Aug 2021 23:44:03 +0000 (01:44 +0200)]
getcwd tests: Avoid test failure when running under QEMU user-mode.

* modules/getcwd-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.
* tests/test-getcwd.c: Include qemu.h.
(test_long_name): Skip this test when running under QEMU user-mode.
(main): Consider return code 77 from test_long_name.

3 years agobase32, base64: treat negative sizes as overflows
Paul Eggert [Sun, 29 Aug 2021 19:58:49 +0000 (12:58 -0700)]
base32, base64: treat negative sizes as overflows

* lib/base64.c (base64_encode_alloc):
* lib/base32.c (base32_encode_alloc):
Treat negative sizes as overflows, for better compatibility
with previous API.

3 years agoexplicit_bzero test: Fix test failure due to GCC optimizations.
Bruno Haible [Sun, 29 Aug 2021 16:54:54 +0000 (18:54 +0200)]
explicit_bzero test: Fix test failure due to GCC optimizations.

* tests/test-explicit_bzero.c (do_secret_stuff): Use static variable
'last_stackbuf'.
(main): Use an 'if' to combine the two do_secret_stuff invocations.

3 years agodfa: port to non-gnulib
Paul Eggert [Sun, 29 Aug 2021 17:03:24 +0000 (10:03 -0700)]
dfa: port to non-gnulib

Suggested by Arnold Robbins in:
https://lists.gnu.org/r/bug-gnulib/2021-08/msg00181.html
* lib/dfa.h (_GL_ATTRIBUTE_DEALLOC) [!_GL_ATTRIBUTE_MALLOC]:
Add missing definition.

3 years agobase32, base64: fix broken tests
Paul Eggert [Sun, 29 Aug 2021 07:45:43 +0000 (00:45 -0700)]
base32, base64: fix broken tests

Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2021-08/msg00170.html
* lib/base32.c, lib/base64.c: Do not include verify.h,
and omit all uses of ‘assume’.
* modules/base32, modules/base64 (Depends-on): Remove verify.
* tests/test-base32.c, tests/test-base64.c:
Don’t pass out-of-range values to allocator,
as converting them to idx_t relies on implementation-defined
behavior that could trap.

3 years agoialloc: relicense
Paul Eggert [Sun, 29 Aug 2021 07:27:10 +0000 (00:27 -0700)]
ialloc: relicense

* modules/ialloc (License): Change from LGPL to LGPLv2+.

3 years agofma: Fix compilation error on Linux/sh4.
Bruno Haible [Sun, 29 Aug 2021 00:05:05 +0000 (02:05 +0200)]
fma: Fix compilation error on Linux/sh4.

* lib/fma.c (FUNC): Don't test for FE_DOWNWARD or FE_UPWARD when these
rounding modes are not defined.

3 years agosigabbrev_np, sigdescr_np: Fix compilation error on Linux/alpha, part 2.
Bruno Haible [Sat, 28 Aug 2021 23:16:37 +0000 (01:16 +0200)]
sigabbrev_np, sigdescr_np: Fix compilation error on Linux/alpha, part 2.

* tests/test-sigabbrev_np.c (main): Fix syntax error.
* tests/test-sigdescr_np.c (main): Likewise.

3 years agoSkip some tests when running under QEMU user-mode.
Bruno Haible [Sat, 28 Aug 2021 23:03:29 +0000 (01:03 +0200)]
Skip some tests when running under QEMU user-mode.

* tests/qemu.h: New file.
* tests/test-get-rusage-as.c: Include qemu.h.
(main): Skip the test when running under QEMU.
* tests/test-get-rusage-data.c: Include qemu.h.
(main): Skip the test when running under QEMU.
* tests/test-printf-posix2.c: Include qemu.h.
(main): Return with code 77 when running under QEMU.
* tests/test-fprintf-posix2.c: Include qemu.h.
(main): Return with code 77 when running under QEMU.
* tests/test-fprintf-posix3.c: Include qemu.h.
(main): Return with code 79 when running under QEMU.
* tests/test-fprintf-posix3.sh: Skip the test when the return code was
79.
* tests/test-dprintf-posix2.c: Include qemu.h.
(main): Return with code 79 when running under QEMU. Use return code 80
instead of 78.
* tests/test-dprintf-posix2.sh: Skip the test when the return code was
79. Update for changed return code.
* modules/get-rusage-as-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.
* modules/get-rusage-data-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.
* modules/fprintf-posix-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.
* modules/dprintf-posix-tests (Files): Add qemu.h.
(Depends-on): Add stdbool.

3 years agosigabbrev_np, sigdescr_np: Fix compilation error on Linux/alpha.
Bruno Haible [Sat, 28 Aug 2021 17:39:05 +0000 (19:39 +0200)]
sigabbrev_np, sigdescr_np: Fix compilation error on Linux/alpha.

* lib/sigabbrev_np.c (sigabbrev_np): When SIGINFO and SIGPWR have the
same value, give precendence to SIGPWR.
* lib/sigdescr_np.c (sigdescr_np): Likewise.
* tests/test-sigabbrev_np.c (main): Likewise.
* tests/test-sigdescr_np.c (main): Likewise.

3 years agoexecle, execve, execvpe tests: Fix test failures under qemu user-mode.
Bruno Haible [Sat, 28 Aug 2021 17:15:38 +0000 (19:15 +0200)]
execle, execve, execvpe tests: Fix test failures under qemu user-mode.

* test-execle-main.c: Include <string.h>.
(get_environ_assignment, create_minimal_env): New functions.
(main): Call create_minimal_env.
* test-execve-main.c: Likewise.
* test-execvpe-main.c: Likewise.

3 years agobase32, base64: prefer signed to unsigned integers
Paul Eggert [Fri, 27 Aug 2021 22:25:42 +0000 (15:25 -0700)]
base32, base64: prefer signed to unsigned integers

* lib/base32.c, lib/base64.c: Include ialloc.h instad of stdlib.h.
Include intprops.h, verify.h.
* lib/base32.c (base32_encode, base32_encode_alloc, get_8, decode_8)
(base32_decode_ctx, base32_decode_alloc_ctx):
* lib/base32.h (struct base32_decode_context):
* lib/base64.c (base64_encode_fast, base64_encode)
(base64_encode_alloc, get_4, decode_4, base64_decode_ctx)
(base64_decode_alloc_ctx):
* lib/base64.h (struct base64_decode_context):
* tests/test-base32.c (main):
* tests/test-base64.c (main):
Prefer signed to unsigned integers.
* lib/base32.c (base32_encode_alloc):
* lib/base64.c (base64_encode_alloc):
Use simpler and more-direct check for overflow, removing a TODO.
* lib/base32.h, lib/base64.h: Include idx.h instead of stddef.h.
* modules/base32, modules/base64 (Depends-on): Add ialloc, verify.

3 years agoregex: also break glibc lib/regex.c link for now
Paul Eggert [Fri, 27 Aug 2021 19:01:26 +0000 (12:01 -0700)]
regex: also break glibc lib/regex.c link for now

3 years agoautoupdate
Karl Berry [Fri, 27 Aug 2021 16:16:36 +0000 (09:16 -0700)]
autoupdate

3 years agoregex: revert much of previous change
Paul Eggert [Fri, 27 Aug 2021 06:45:39 +0000 (23:45 -0700)]
regex: revert much of previous change

Use a more-conservative change that syncs closer with glibc,
and then merely marks regexec and __compat_regexec.

3 years agoregex: fix typo in previous patch
Paul Eggert [Thu, 26 Aug 2021 23:15:25 +0000 (16:15 -0700)]
regex: fix typo in previous patch

Fix typo in previous patch.  Somehow I managed to
omit the main point of the patch....

3 years agoregex: use C99-style array arg syntax
Paul Eggert [Thu, 26 Aug 2021 17:08:00 +0000 (10:08 -0700)]
regex: use C99-style array arg syntax

This should help with some static checking.
Derived from a suggestion by Martin Sebor in:
https://sourceware.org/pipermail/libc-alpha/2021-August/130336.html
This also ports recent and relevant Glibc changes to Gnulib
and prepares to copy back.
* lib/cdefs.h (__ARG_NELTS): New macro.
* lib/regex.c: Ignore -Wvla for the whole file.
* lib/regex.h (_ARG_NELTS_, _Attr_access_): New macros.
Ignore -Wvla when declaring regexec.
* lib/regex.h (re_compile_pattern, re_search, re_search_2)
(re_match, re_match_2, regcomp, regerror):
Use _Attr_access_ where that could help static checking.
* lib/regexec.c (regexec, __compat_regexec, re_copy_regs)
(re_search_internal, proceed_next_node, push_fail_stack)
(pop_fail_stack, set_regs, update_regs):
Use __ARG_NELTS for each array parameter whose size is another arg,
but which might be null.

3 years agoexecute tests: Fix test failure when libtool is in use.
Bruno Haible [Wed, 25 Aug 2021 10:43:56 +0000 (12:43 +0200)]
execute tests: Fix test failure when libtool is in use.

* modules/execute-tests (Makefile.am): Link test-execute-child without
using libtool.
* modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-child
without using libtool.
* modules/system-quote-tests (Makefile.am): Link test-system-quote-child
without using libtool.

3 years agodfa: prefer idx_t to ptrdiff_t for nonnegative
Paul Eggert [Wed, 25 Aug 2021 03:12:19 +0000 (20:12 -0700)]
dfa: prefer idx_t to ptrdiff_t for nonnegative

* lib/dfa.c (struct dfa, dfaexec_main, dfaexec_mb, dfaexec_sb)
(dfaexec_noop, dfaexec):
* lib/dfa.h (dfaparse, dfacomp, dfaexec):
Prefer idx_t to ptrdiff_t for counts, which should be nonnegative.
* lib/dfa.h: Include idx.h.

3 years agosnippet/unused-parameter: Mark unused module obsolete.
Bruno Haible [Mon, 23 Aug 2021 01:06:03 +0000 (03:06 +0200)]
snippet/unused-parameter: Mark unused module obsolete.

* modules/snippet/unused-parameter (Status, Notice): Mark as obsolete.

3 years agoMake generated .in.h files as standalone as possible.
Bruno Haible [Sun, 22 Aug 2021 21:54:40 +0000 (23:54 +0200)]
Make generated .in.h files as standalone as possible.

Reported by Jan Engelhardt <jengelh@inai.de>.

* lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE,
_GL_ATTRIBUTE_MALLOC): Add fallback definitions.
* lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC): Add
fallback definitions.
* lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC): Add fallback definition.
* lib/math.in.h (_GL_ATTRIBUTE_CONST): Add fallback definition.
* lib/pthread.in.h (_GL_ATTRIBUTE_PURE): Add fallback definition.
* lib/threads.in.h (_GL_ATTRIBUTE_PURE): Likewise.
* lib/uchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
* lib/string.in.h (_GL_ATTRIBUTE_PURE): Move definition, for consistency
with the other *.in.h files.
* lib/se-context.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Add fallback
definition.
* lib/se-label.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Likewise.
* lib/se-selinux.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Likewise.
* lib/textstyle.in.h: Use _GL_ATTRIBUTE_MAYBE_UNUSED instead of
_GL_UNUSED.
(_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_MAYBE_UNUSED): Add
fallback definitions.

3 years agognulib-common.m4: Clarify logic behind _GL_UNUSED_LABEL.
Bruno Haible [Sun, 22 Aug 2021 21:40:41 +0000 (23:40 +0200)]
gnulib-common.m4: Clarify logic behind _GL_UNUSED_LABEL.

Reported by Paul Eggert.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Add comment and write the
condition in a way that is close to the comment.

3 years agoc-stack: depend on inttypes, mempcpy
Paul Eggert [Sun, 22 Aug 2021 20:39:24 +0000 (13:39 -0700)]
c-stack: depend on inttypes, mempcpy

* modules/c-stack (Depends-on): Add inttypes, mempcpy.
mempcpy problem reported by Evan Miller in:
https://debbugs.gnu.org/50098#31

3 years agomountlist: Use recommended syntax for _GL_UNUSED_LABEL.
Bruno Haible [Sun, 22 Aug 2021 20:26:05 +0000 (22:26 +0200)]
mountlist: Use recommended syntax for _GL_UNUSED_LABEL.

* lib/mountlist.c (read_file_system_list): Add semicolon after
_GL_UNUSED_LABEL.

3 years agognulib-common.m4: Make _GL_UNUSED_LABEL effective for clang.
Bruno Haible [Sun, 22 Aug 2021 20:11:50 +0000 (22:11 +0200)]
gnulib-common.m4: Make _GL_UNUSED_LABEL effective for clang.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Make _GL_UNUSED_LABEL use
_GL_ATTRIBUTE_UNUSED also for clang.

3 years agoOops, remove unintended file additions.
Bruno Haible [Sun, 22 Aug 2021 20:09:15 +0000 (22:09 +0200)]
Oops, remove unintended file additions.

3 years agognulib-common.m4: Use C2x [[maybe_unused]] when possible.
Bruno Haible [Sun, 22 Aug 2021 20:04:34 +0000 (22:04 +0200)]
gnulib-common.m4: Use C2x [[maybe_unused]] when possible.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_UNUSED as an alias of
_GL_ATTRIBUTE_MAYBE_UNUSED, not of _GL_ATTRIBUTE_UNUSED.
* lib/binary-io.h (__gl_setmode): Put _GL_UNUSED before, not after, the
declaration.
* lib/c-stack.c (null_action, segv_handler, overflow_handler,
c_stack_action): Likewise.
* lib/chown.c (chown): Likewise.
* lib/clean-temp-simple.c (cleanup_action): Likewise.
* lib/fts.c (dirent_inode_sort_may_be_useful, leaf_optimization,
fts_set): Likewise.
* lib/getgroups.c (getgroups): Likewise.
* lib/getopt.c (_getopt_initialize): Likewise.
* lib/getugroups.c (getugroups): Likewise.
* lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
gl_locale_name_posix, gl_locale_name_environ): Likewise.
* lib/mkdir.c (rpl_mkdir): Likewise.
* lib/mkfifo.c (mkfifo): Likewise.
* lib/mkfifoat.c (mkfifoat): Likewise.
* lib/mknod.c (mknod): Likewise.
* lib/mknodat.c (mknodat): Likewise.
* lib/mountlist.c (me_remote): Likewise.
* lib/openpty.c (openpty): Likewise.
* lib/parse-datetime.y (yyerror): Likewise.
* lib/passfd.c (sendfd, recvfd): Likewise.
* lib/pthread-cond.c (pthread_condattr_destroy, pthread_cond_init,
pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal,
pthread_cond_broadcast, pthread_cond_destroy): Likewise.
* lib/pthread-mutex.c (pthread_mutexattr_destroy, pthread_mutex_init,
pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
pthread_mutex_unlock, pthread_mutex_destroy): Likewise.
* lib/pthread-rwlock.c (pthread_rwlockattr_destroy, pthread_rwlock_init,
pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock): Likewise.
* lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy):
Likewise.
* lib/pthread-thread.c (pthread_attr_destroy): Likewise.
* lib/readlink.c (readlink): Likewise.
* lib/rename.c (rpl_rename): Likewise.
* lib/set-permissions.c (set_permissions): Likewise.
* lib/sockets.c (gl_sockets_startup): Likewise.
* lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime,
stat_time_normalize): Likewise.
* lib/strptime.c (__strptime_internal): Likewise.
* lib/strtod.c (LDEXP): Likewise.
* lib/symlink.c (symlink): Likewise.
* lib/symlinkat.c (symlinkat): Likewise.
* lib/tempname.c (try_dir, try_nocreate): Likewise.
* lib/textstyle.in.h (styled_ostream_begin_use_class,
styled_ostream_end_use_class, styled_ostream_get_hyperlink_ref,
styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
styled_ostream_flush_to_current_style, fd_ostream_create,
term_ostream_get_color, term_ostream_set_color,
term_ostream_get_bgcolor, term_ostream_set_bgcolor,
term_ostream_get_weight, term_ostream_set_weight,
term_ostream_get_posture, term_ostream_set_posture,
term_ostream_get_underline, term_ostream_set_underline,
term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
term_ostream_set_hyperlink, term_ostream_create,
term_styled_ostream_create, html_styled_ostream_create,
handle_color_option, handle_style_option, style_file_prepare,
styled_ostream_create, libtextstyle_set_failure_exit_code): Likewise.
* lib/unicodeio.c (exit_failure_callback, fallback_failure_callback):
Likewise.
* lib/wait-process.c (cleanup_slaves_action): Likewise.
* tests/signature.h (SIGNATURE_CHECK2): Likewise.
* tests/test-areadlink.c (do_areadlink): Likewise.
* tests/test-areadlinkat.c (do_areadlinkat): Likewise.
* tests/test-ceilf-ieee.c (main): Likewise.
* tests/test-ceilf1.c (main): Likewise.
* tests/test-dirent.c (dir): Likewise.
* tests/test-fchownat.c (main): Likewise.
* tests/test-fdopendir.c (main): Likewise.
* tests/test-filenamecat.c (main): Likewise.
* tests/test-floor1.c (main): Likewise.
* tests/test-floorf-ieee.c (main): Likewise.
* tests/test-floorf1.c (main): Likewise.
* tests/test-fseeko.c (main): Likewise.
* tests/test-fstatat.c (main): Likewise.
* tests/test-ftello.c (main): Likewise.
* tests/test-getdomainname.c (main): Likewise.
* tests/test-getgroups.c (main): Likewise.
* tests/test-gethostname.c (main): Likewise.
* tests/test-math-c++.cc (OVERLOADED_CHECK): Likewise.
* tests/test-mkdirat.c (main): Likewise.
* tests/test-openat.c (main): Likewise.
* tests/test-parse-datetime.c (main): Likewise.
* tests/test-quotearg-simple.c (main): Likewise.
* tests/test-quotearg.c (main): Likewise.
* tests/test-sethostname2.c (main): Likewise.
* tests/test-unlinkat.c (main): Likewise.
* tests/test-version-etc.c (main): Likewise.
* tests/test-xalloc-die.c (main): Likewise.
* tests/test-xfprintf-posix.c (main): Likewise.
* tests/test-xprintf-posix.c (main): Likewise.
* tests/test-xvasprintf.c (main): Likewise.

3 years agognulib-common.m4: Document the gnulib-internal _GL_ATTRIBUTE_* macros.
Bruno Haible [Sun, 22 Aug 2021 19:58:31 +0000 (21:58 +0200)]
gnulib-common.m4: Document the gnulib-internal _GL_ATTRIBUTE_* macros.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Add comments to the
_GL_ATTRIBUTE_* macros, based on lib/attribute.h.

3 years agodoc: fix order of stdlib functions
Bernhard Voelker [Sun, 22 Aug 2021 14:06:47 +0000 (16:06 +0200)]
doc: fix order of stdlib functions

* doc/gnulib.texi (node Glibc stdlib.h): Move mrand48_r after mkstemps.
Reported by Benno Schulenberg.

3 years agoc-stack: Test for libsigsegv once, not twice.
Bruno Haible [Sat, 21 Aug 2021 23:25:59 +0000 (01:25 +0200)]
c-stack: Test for libsigsegv once, not twice.

* m4/sigsegv.m4: New file, based on modules/sigsegv.
* modules/sigsegv (Files): Add it.
(configure.ac): Require gl_SIGSEGV. Test gl_sigsegv_uses_libsigsegv
instead of with_libsigsegv and gl_cv_lib_sigsegv.
* m4/c-stack.m4 (gl_C_STACK): Likewise.

3 years agorawmemchr: Fix use in relocatable-prog-wrapper (regression 2021-08-20).
Bruno Haible [Sat, 21 Aug 2021 22:32:40 +0000 (00:32 +0200)]
rawmemchr: Fix use in relocatable-prog-wrapper (regression 2021-08-20).

* lib/rawmemchr.c: Restore test of HAVE_RAWMEMCHR.
* modules/relocatable-prog-wrapper (Depends-on): Add stdalign.

3 years agoautoupdate
Karl Berry [Sat, 21 Aug 2021 15:27:26 +0000 (08:27 -0700)]
autoupdate

3 years agorawmemchr: modernize and simplify
Paul Eggert [Sat, 21 Aug 2021 02:25:06 +0000 (19:25 -0700)]
rawmemchr: modernize and simplify

* lib/rawmemchr.c (HAVE_RAWMEMCHR): Assume it’s not defined;
otherwise this file would not be compiled.  Include limits.h,
stdalign.h, stdint.h, verify.h.
(rawmemchr): Prefer uintptr_t to unsigned long and to size_t when
it’s the better type.  Verify that longword lacks padding.  Use
alignof rather than sizeof when checking alignment.  Simplify by
assuming C99 decl-after-statement, and by using multiplication
rather than repeated shifting and OR (modern compilers can
optimize the multiplication if needed).  Avoid unnecessary casts.
Don’t assume CHAR_WIDTH is 8.  Convert back and forth between void *
to suppress bogus GCC warnings about alignment.  Omit a
duplicate assignment to char_ptr.
* modules/rawmemchr (Depends-on): Add stdalign, stdint, verify.

3 years agoautoupdate
Karl Berry [Wed, 18 Aug 2021 14:01:44 +0000 (07:01 -0700)]
autoupdate

3 years agoc-stack: fix libsigsegv dependency
Paul Eggert [Tue, 17 Aug 2021 19:06:42 +0000 (12:06 -0700)]
c-stack: fix libsigsegv dependency

Problem reported for GNU grep by Evan Miller (Bug#50098).
* m4/c-stack.m4 (gl_C_STACK): Call gl_LIBSIGSEGV before
testing gl_cv_lib_sigsegv.

3 years agodoc: Update for glibc 2.34.
Bruno Haible [Sat, 14 Aug 2021 20:07:33 +0000 (22:07 +0200)]
doc: Update for glibc 2.34.

* doc/posix-functions/timespec_getres.texi: New file.
* doc/glibc-functions/_Fork.texi: New file.
* doc/glibc-functions/closefrom.texi: New file.
* doc/glibc-functions/dn_comp.texi: New file.
* doc/glibc-functions/dn_skipname.texi: New file.
* doc/glibc-functions/execveat.texi: New file.
* doc/glibc-functions/posix_spawn_file_actions_addclosefrom_np.texi: New
file.
* doc/glibc-functions/res_dnok.texi: New file.
* doc/glibc-functions/res_hnok.texi: New file.
* doc/glibc-functions/res_mailok.texi: New file.
* doc/glibc-functions/res_nmkquery.texi: New file.
* doc/glibc-functions/res_nquery.texi: New file.
* doc/glibc-functions/res_nquerydomain.texi: New file.
* doc/glibc-functions/res_nsearch.texi: New file.
* doc/glibc-functions/res_nsend.texi: New file.
* doc/glibc-functions/res_ownok.texi: New file.
* doc/glibc-functions/res_send.texi: New file.
* doc/gnulib.texi: Include them.
* doc/glibc-functions/inet_neta.texi: Remove file.
* doc/glibc-functions/malloc_get_state.texi: Remove file.
* doc/glibc-functions/malloc_set_state.texi: Remove file.
* doc/glibc-functions/pthread_mutex_consistent_np.texi: Remove file.
* doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: Remove file.
* doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: Remove file.
* doc/glibc-functions/pthread_yield.texi: Remove file.
* doc/gnulib.texi: Don't include them.
* doc/glibc-headers/resolv.texi: Update.
* doc/pastposix-functions/h_errno.texi: Likewise.
* doc/posix-functions/*.texi: Likewise.
* doc/glibc-functions/*.texi: Likewise.

3 years agomemrchr-tests: port to GCC 12
Paul Eggert [Thu, 12 Aug 2021 21:36:34 +0000 (14:36 -0700)]
memrchr-tests: port to GCC 12

* tests/test-memrchr.c: Bug#101494 is fixed in GCC 12.

3 years agosnippet/_Noreturn: Fix typo
Akim Demaille [Thu, 12 Aug 2021 07:30:41 +0000 (09:30 +0200)]
snippet/_Noreturn: Fix typo

* lib/_Noreturn.h: Fix spelling of 4.

3 years agodynarray: merge from glibc
Paul Eggert [Wed, 11 Aug 2021 20:00:57 +0000 (13:00 -0700)]
dynarray: merge from glibc

This also helps document glibc’s direction in using GCC’s
memory-allocation checking.
* lib/cdefs.h: Omit comments that glibc rejected.
(__returns_nonnull, __attr_access_none, __attr_dealloc)
(__attr_dealloc_free): New macros.
* lib/libc-config.h: Undef the new macros that are defined
unconditionally.
* lib/malloc/dynarray_at_failure.c [_LIBC]: Do not include stdlib.h.
(__libc_dynarray_at_failure) [_LIBC]: Call __libc_fatal,
fixing a bad merge previously.

3 years agocanonicalize-lgpl: Fix conflict with z/OS <sys/stat.h>.
Bruno Haible [Sun, 8 Aug 2021 20:11:03 +0000 (22:11 +0200)]
canonicalize-lgpl: Fix conflict with z/OS <sys/stat.h>.

Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
<https://lists.gnu.org/archive/html/m4-discuss/2021-08/msg00000.html>
via Eric Blake.

* lib/canonicalize-lgpl.c (__stat): Remove macro.
(file_accessible): Use 'stat' instead.

3 years agoptsname_r: Drop sync with glibc.
Bruno Haible [Sun, 8 Aug 2021 19:56:42 +0000 (21:56 +0200)]
ptsname_r: Drop sync with glibc.

* lib/ptsname_r.c: Drop _LIBC code.
(__set_errno, __isatty, __stat, __ttyname_r, __ptsname_r): Remove
macros.
(ptsname_r): Rename local variable 'save_errno'.

3 years agoconfig: Update after glibc changed.
Bruno Haible [Sun, 8 Aug 2021 19:42:26 +0000 (21:42 +0200)]
config: Update after glibc changed.

* config/srclist.txt: Remove two files that glibc dropped on 2013-12-17.

3 years agorelocatable-lib-lgpl: Fix a memory leak related to a Windows DLL.
Bruno Haible [Sun, 8 Aug 2021 17:11:31 +0000 (19:11 +0200)]
relocatable-lib-lgpl: Fix a memory leak related to a Windows DLL.

Reported by Jonathan Boeing <jonathan@claws-mail.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-08/msg00048.html>.

* lib/relocatable.c (DllMain): Avoid memory leak in a special case
of repeated attach/detach.

3 years agofopen: Fix link error on native Windows.
Bruno Haible [Sun, 8 Aug 2021 16:54:06 +0000 (18:54 +0200)]
fopen: Fix link error on native Windows.

* modules/fopen (Depends-on): Add close.

3 years agofopen: Fix compilation error on AIX (regression from 2020-05-28).
Bruno Haible [Sun, 8 Aug 2021 16:38:45 +0000 (18:38 +0200)]
fopen: Fix compilation error on AIX (regression from 2020-05-28).

* modules/fopen (Depends-on): Add fcntl-h.

3 years agostdio: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sun, 8 Aug 2021 16:27:56 +0000 (18:27 +0200)]
stdio: Improve GCC 11 allocation-deallocation checking.

* lib/stdio.in.h (fdopen, fopen, tmpfile): For GCC >= 11: Declare nearly
always.
(popen): For GCC >= 11: Declare also when the platform already declares
the function or when the module 'popen' is not in use.

3 years agodirent: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sun, 8 Aug 2021 16:23:46 +0000 (18:23 +0200)]
dirent: Improve GCC 11 allocation-deallocation checking.

* lib/dirent.in.h (opendir): For GCC >= 11: Declare also when the
platform already declares the function or when the module 'opendir' is
not in use.
(fdopendir): For GCC >= 11: Declare also when the platform already
declares the function or when the module 'fdopendir' is not in use.

3 years agostdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sun, 8 Aug 2021 16:18:25 +0000 (18:18 +0200)]
stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.

* lib/stdlib.in.h (aligned_alloc): For GCC >= 11: Declare also when the
platform already declares the function or when the module
'aligned_alloc' is not in use.
(calloc): For GCC >= 11: Declare nearly always.
(canonicalize_file_name): For GCC >= 11: Declare also when the platform
already declares the function or when the module 'canonicalize-lgpl' is
not in use.
(malloc, realloc): For GCC >= 11: Declare nearly always.
* lib/malloc.in.h: Remove redundant include.
(memalign): For GCC >= 11: Declare also when the platform already
declares the function or when the module 'memalign' is not in use.
* lib/string.in.h: Include <stdlib.h> always.
(strdup): For GCC >= 11: Declare also when the platform already declares
the function or when the module 'strdup' or 'strdup-posix' is not in
use.
* lib/wchar.in.h: Include <stdlib.h> always.
(wcsdup): For GCC >= 11: Declare also when the platform already declares
the function or when the module 'wcsdup' is not in use.
* modules/free-posix (Depends-on): Add string, wchar.

3 years agognulib-tool: Add support for Automake 1.16.4.
Bruno Haible [Sun, 8 Aug 2021 01:52:01 +0000 (03:52 +0200)]
gnulib-tool: Add support for Automake 1.16.4.

Reported by <shoober420@gmail.com> in
<https://lists.gnu.org/archive/html/bug-libunistring/2021-08/msg00000.html>.

* build-aux/test-driver-1.16.3.diff: Renamed from build-aux/test-driver.diff.
* build-aux/test-driver.diff: Update to match Automake 1.16.4.
* gnulib-tool (func_create_testdir, func_create_megatestdir): Try both
.diff files.

3 years agognulib-common.m4: Minor style fix.
Bruno Haible [Sun, 8 Aug 2021 00:51:24 +0000 (02:51 +0200)]
gnulib-common.m4: Minor style fix.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Keep list of attributes sorted
alphabetically.

3 years agouninorm, unistr: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sun, 8 Aug 2021 00:14:11 +0000 (02:14 +0200)]
uninorm, unistr: Improve GCC 11 allocation-deallocation checking.

* lib/uninorm.in.h (uninorm_filter_free): Move declaration up.
(uninorm_filter_create): Declare that deallocation must happen through
'uninorm_filter_free'.
* lib/unistr.in.h: Include <stdlib.h>.
(u8_strdup, u16_strdup, u32_strdup): Declare that deallocation must
happen through 'free'.

3 years agoialloc: Prepare for allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 22:11:49 +0000 (00:11 +0200)]
ialloc: Prepare for allocation-deallocation checking.

* lib/ialloc.h (imalloc, irealloc, icalloc): Add comment that
deallocation must happen through 'free'.