]> Savannah Git Hosting - gnulib.git/log
gnulib.git
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'.

3 years agoaligned-malloc: Prepare for allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 22:09:10 +0000 (00:09 +0200)]
aligned-malloc: Prepare for allocation-deallocation checking.

* lib/aligned-malloc.h (aligned_free): Move declaration up.
(aligned_malloc): Add comment that deallocation must happen through
'aligned_free'.

3 years agolist, set, oset, map, omap: Prepare allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 22:00:36 +0000 (00:00 +0200)]
list, set, oset, map, omap: Prepare allocation-deallocation checking.

* lib/gl_list.h (gl_list_create_empty, gl_list_nx_create_empty,
gl_list_create, gl_list_nx_create): Add comment that deallocation must
happen through 'gl_list_free'.
* lib/gl_xlist.h (gl_list_create_empty, gl_list_create): Likewise.
* lib/gl_sublist.h (gl_sublist_create, gl_sublist_nx_create): Likewise.
* lib/gl_xsublist.h (gl_sublist_create): Likewise.
* lib/gl_set.h (gl_set_create_empty, gl_set_nx_create_empty): Add
comment that deallocation must happen through 'gl_set_free'.
* lib/gl_xset.h (gl_set_create_empty): Likewise.
* lib/gl_oset.h (gl_oset_create_empty, gl_oset_nx_create_empty): Add
comment that deallocation must happen through 'gl_oset_free'.
* lib/gl_xoset.h (gl_oset_create_empty): Likewise.
* lib/gl_map.h (gl_map_create_empty, gl_map_nx_create_empty): Add
comment that deallocation must happen through 'gl_map_free'.
* lib/gl_xmap.h (gl_map_create_empty): Likewise.
* lib/gl_omap.h (gl_omap_create_empty, gl_omap_nx_create_empty): Add
comment that deallocation must happen through 'gl_omap_free'.
* lib/gl_xomap.h (gl_omap_create_empty): Likewise.

3 years agoxgetdomainname: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 21:36:42 +0000 (23:36 +0200)]
xgetdomainname: Improve GCC 11 allocation-deallocation checking.

* lib/xgetdomainname.h: Include <stdlib.h>.
(xgetdomainname): Declare that deallocation must happen through 'free'.

3 years agoxgetdomainname: Ensure .c file starts with '#include <config.h>'.
Bruno Haible [Sat, 7 Aug 2021 21:30:53 +0000 (23:30 +0200)]
xgetdomainname: Ensure .c file starts with '#include <config.h>'.

* lib/xgetaname-impl.h: New file, based on lib/xgethostname.c.
* lib/xgethostname.c: Move implementation to lib/xgetaname-impl.h.
* lib/xgetdomainname.c: Include <config.h>. Include xgetaname-impl.h
instead of xgethostname.c.
* modules/xgethostname (Files): Add lib/xgetaname-impl.h.
* modules/xgetdomainname (Files): Likewise.
(Depends-on): Remove xgethostname. Add free-posix, xalloc.

3 years agoxstrndup: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 21:15:21 +0000 (23:15 +0200)]
xstrndup: Improve GCC 11 allocation-deallocation checking.

* lib/xstrndup.h: Include <stdlib.h> instead of <stddef.h>.
(xstrndup): Declare that deallocation must happen through 'free'.

3 years agoxstriconveh: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 21:11:48 +0000 (23:11 +0200)]
xstriconveh: Improve GCC 11 allocation-deallocation checking.

* lib/xstriconveh.h: Include <stdlib.h> instead of <stddef.h>.
(xstr_cd_iconveh, xstr_iconveh): Declare that deallocation must happen
through 'free'.

3 years agoxmemdup0: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 21:08:45 +0000 (23:08 +0200)]
xmemdup0: Improve GCC 11 allocation-deallocation checking.

* lib/xmemdup0.h: Include <stdlib.h> instead of <stddef.h>.
(xmemdup0): Declare that deallocation must happen through 'free'.

3 years agowindows-spawn: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 21:05:51 +0000 (23:05 +0200)]
windows-spawn: Improve GCC 11 allocation-deallocation checking.

* lib/windows-spawn.h: Include <stdlib.h>.
(compose_command, compose_envblock): Declare that deallocation must
happen through 'free'.

3 years agostring-buffer: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 20:16:55 +0000 (22:16 +0200)]
string-buffer: Improve GCC 11 allocation-deallocation checking.

* lib/string-buffer.h: Include <stdlib.h> instead of <stddef.h>.
(sb_dupfree): Declare that deallocation must happen through 'free'.

3 years agostriconveha: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 20:14:02 +0000 (22:14 +0200)]
striconveha: Improve GCC 11 allocation-deallocation checking.

* lib/striconveha.h: Include <stdlib.h> instead of <stddef.h>.
(str_iconveha): Declare that deallocation must happen through 'free'.

3 years agostriconveh: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 20:10:29 +0000 (22:10 +0200)]
striconveh: Improve GCC 11 allocation-deallocation checking.

* lib/striconveh.h: Include <stdlib.h> instead of <stddef.h>.
(str_cd_iconveh, str_iconveh): Declare that deallocation must happen
through 'free'.

3 years agostriconv: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 20:08:16 +0000 (22:08 +0200)]
striconv: Improve GCC 11 allocation-deallocation checking.

* lib/striconv.h: Include <stdlib.h> instead of <stddef.h>.
(str_cd_iconv, str_iconv): Declare that deallocation must happen through
'free'.

3 years agorelocatable-lib-lgpl: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 20:04:55 +0000 (22:04 +0200)]
relocatable-lib-lgpl: Improve GCC 11 allocation-deallocation checking.

* lib/relocatable.h: Include <stdlib.h>.
(compute_curr_prefix): Declare that deallocation must happen through
'free'.

3 years agoregex-quote: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 20:02:37 +0000 (22:02 +0200)]
regex-quote: Improve GCC 11 allocation-deallocation checking.

* lib/regex-quote.h: Include <stdlib.h> instead of <stddef.h>.
(regex_quote): Declare that deallocation must happen through 'free'.

3 years agoreadline: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 19:55:00 +0000 (21:55 +0200)]
readline: Improve GCC 11 allocation-deallocation checking.

* lib/readline.h: Include <stdlib.h>.
(readline): Declare that deallocation must happen through 'free'.

3 years agoread-file: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 19:52:48 +0000 (21:52 +0200)]
read-file: Improve GCC 11 allocation-deallocation checking.

* lib/read-file.h: Include <stdlib.h> instead of <stddef.h>.
(fread_file, read_file): Declare that deallocation must happen through
'free'.

3 years agopipe-filter-gi: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 19:49:55 +0000 (21:49 +0200)]
pipe-filter-gi: Improve GCC 11 allocation-deallocation checking.

* lib/pipe-filter.h (pipe_filter_gi_close): Move declaration up.
(pipe_filter_gi_create): Declare that deallocation must happen through
'pipe_filter_gi_close'.

3 years agojavaversion: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 19:46:24 +0000 (21:46 +0200)]
javaversion: Improve GCC 11 allocation-deallocation checking.

* lib/javaversion.h: Include <stdlib.h>.
(javaexec_version): Declare that deallocation must happen through
'free'.

3 years agoino-map: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:47:47 +0000 (19:47 +0200)]
ino-map: Improve GCC 11 allocation-deallocation checking.

* lib/ino-map.h (ino_map_free): Move declaration up.
(ino_map_alloc): Declare that deallocation must happen through
'ino_map_free'.

3 years agohash: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:45:19 +0000 (19:45 +0200)]
hash: Improve GCC 11 allocation-deallocation checking.

* lib/hash.h (hash_free): Move declaration up.
(hash_initialize, hash_xinitialize): Declare that deallocation must
happen through 'hash_free'.

3 years agohamt: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:42:08 +0000 (19:42 +0200)]
hamt: Improve GCC 11 allocation-deallocation checking.

* lib/hamt.h (hamt_free): Move declaration up.
(hamt_create, hamt_copy): Declare that deallocation must happen through
'hamt_free'.

3 years agoget_progname_of: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:36:50 +0000 (19:36 +0200)]
get_progname_of: Improve GCC 11 allocation-deallocation checking.

* lib/get_progname_of.h: Include <stdlib.h>.
(get_progname_of): Declare that deallocation must happen through 'free'.

3 years agofts: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:34:16 +0000 (19:34 +0200)]
fts: Improve GCC 11 allocation-deallocation checking.

* lib/fts_.h (fts_open): Declare that deallocation must happen through
'fts_close'.

3 years agoeealloc: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:32:01 +0000 (19:32 +0200)]
eealloc: Improve GCC 11 allocation-deallocation checking.

* lib/eealloc.h (eemalloc): Declare that deallocation must happen
through 'free'.

3 years agodi-set: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:29:57 +0000 (19:29 +0200)]
di-set: Improve GCC 11 allocation-deallocation checking.

* lib/di-set.h (di_set_free): Move declaration up.
(di_set_alloc): Declare that deallocation must happen through
'di_set_free'.

3 years ago[x]concat-filename: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:27:05 +0000 (19:27 +0200)]
[x]concat-filename: Improve GCC 11 allocation-deallocation checking.

* lib/concat-filename.h: Include <stdlib.h>.
(concatenated_filename, xconcatenated_filename): Declare that
deallocation must happen through 'free'.

3 years agoclean-temp: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:23:57 +0000 (19:23 +0200)]
clean-temp: Improve GCC 11 allocation-deallocation checking.

* lib/clean-temp.h (cleanup_temp_dir): Move declaration up.
(create_temp_dir): Declare that deallocation must happen through
'cleanup_temp_dir'.

3 years agocanon-host: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:21:19 +0000 (19:21 +0200)]
canon-host: Improve GCC 11 allocation-deallocation checking.

* lib/canon-host.h: Include <stdlib.h>.
(canon_host, canon_host_r): Declare that deallocation must happen
through 'free'.

3 years agoc-xvasprintf: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:16:48 +0000 (19:16 +0200)]
c-xvasprintf: Improve GCC 11 allocation-deallocation checking.

* lib/c-xvasprintf.h: Include <stdlib.h>.
(c_xasprintf, c_xvasprintf): Declare that deallocation must happen
through 'free'.

3 years agobitsetv: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:13:56 +0000 (19:13 +0200)]
bitsetv: Improve GCC 11 allocation-deallocation checking.

* lib/bitsetv.h (bitsetv_free): Move declaration up.
(bitsetv_alloc, bitsetv_create): Declare that deallocation must happen
through 'bitsetv_free'.

3 years agobitset: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:10:38 +0000 (19:10 +0200)]
bitset: Improve GCC 11 allocation-deallocation checking.

* lib/bitset.h (bitset_free): Move declaration up.
(bitset_alloc, bitset_create): Declare that deallocation must happen
through 'bitset_free'.
(bitset_obstack_free): Move declaration up.
(bitset_obstack_alloc): Declare that deallocation must happen through
'bitset_obstack_free'.

3 years agoargv-iter: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:05:31 +0000 (19:05 +0200)]
argv-iter: Improve GCC 11 allocation-deallocation checking.

* lib/argv-iter.h (argv_iter_free): Move declaration up.
(argv_iter_init_argv, argv_iter_init_stream): Declare that deallocation
must happen through 'argv_iter_free'.

3 years agoargp: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 17:00:42 +0000 (19:00 +0200)]
argp: Improve GCC 11 allocation-deallocation checking.

* lib/argp-fmtstream.h (__argp_fmtstream_free, argp_fmtstream_free):
Move declarations up.
(__argp_make_fmtstream): Declare that deallocation must happen through
'__argp_fmtstream_free'.
(argp_make_fmtstream): Declare that deallocation must happen through
'argp_fmtstream_free'.

3 years agoareadlink, areadlinkat: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 16:55:45 +0000 (18:55 +0200)]
areadlink, areadlinkat: Improve GCC 11 allocation-deallocation checking.

* lib/areadlink.h: Include <stdlib.h> instead of <stddef.h>.
(areadlink, areadlink_with_size, areadlinkat, areadlinkat_with_size):
Declare that deallocation must happen through 'free'.

3 years agostdio: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 16:17:55 +0000 (18:17 +0200)]
stdio: Improve GCC 11 allocation-deallocation checking.

* lib/stdio.in.h (fdopen, fopen, tmpfile): Declare that deallocation
must happen through 'fclose'.
(popen): Declare that deallocation must happen through 'pclose'.
* lib/stdio-safer.h (fopen_safer, tmpfile_safer): Declare that
deallocation must happen through 'fclose'.
(popen_safer): Declare that deallocation must happen through 'pclose'.
(freopen_safer): Declare that arguments must be non-NULL.

3 years agodirent: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 16:05:44 +0000 (18:05 +0200)]
dirent: Improve GCC 11 allocation-deallocation checking.

* lib/dirent.in.h (closedir): Move declaration up.
(opendir, fdopendir): Declare that that deallocation must happen through
'closedir'.
* lib/dirent-safer.h (opendir_safer): Likewise.
* lib/opendirat.h (opendirat): Likewise.

3 years agostdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 14:40:12 +0000 (16:40 +0200)]
stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.

* lib/stdlib.in.h (free): Move declaration up.
(aligned_alloc, calloc, canonicalize_file_name, malloc, realloc):
Declare that deallocation must happen through 'free' (which may actually
be 'rpl_free').
* lib/string.in.h: Include <stdlib.h>.
(strdup): Declare deallocation.
* lib/wchar.in.h: Include <stdlib.h>.
(wcsdup): Declare deallocation.
* lib/malloc.in.h: Include <stdlib.h>.
(memalign): Declare deallocation.

3 years agoyear2038: Fix recommendation regarding -m64 flag.
Bruno Haible [Sat, 7 Aug 2021 14:03:22 +0000 (16:03 +0200)]
year2038: Fix recommendation regarding -m64 flag.

* m4/year2038.m4 (gl_YEAR2038_BODY): Recommend to put option --m64 in
CC, not in CPPFLAGS and LDFLAGS.

3 years agoquotearg: Tweak last commit.
Bruno Haible [Sat, 7 Aug 2021 13:24:51 +0000 (15:24 +0200)]
quotearg: Tweak last commit.

* lib/quotearg.h: Don't include <stddef.h>. Remove stray semicolon.

3 years agomalloca: Tweak last commit.
Bruno Haible [Sat, 7 Aug 2021 13:19:33 +0000 (15:19 +0200)]
malloca: Tweak last commit.

* lib/malloca.h: Keep use and declaration of mmalloca close together.

3 years agodirname-lgpl, sh-quote, system-quote, xstriconv: Clean up includes.
Bruno Haible [Sat, 7 Aug 2021 13:11:43 +0000 (15:11 +0200)]
dirname-lgpl, sh-quote, system-quote, xstriconv: Clean up includes.

* lib/dirname.h: Don't include <stddef.h>.
* lib/sh-quote.h: Likewise.
* lib/system-quote.h: Likewise.
* lib/xstriconv.h: Likewise.

3 years agodfa: Improve GCC 11 allocation-deallocation checking.
Bruno Haible [Sat, 7 Aug 2021 13:01:33 +0000 (15:01 +0200)]
dfa: Improve GCC 11 allocation-deallocation checking.

* lib/dfa.h (dfamust): Declare that deallocation must happen through
dfamustfree.

3 years agoglob: merge from glibc
Paul Eggert [Fri, 6 Aug 2021 22:08:27 +0000 (15:08 -0700)]
glob: merge from glibc

* lib/glob-libc.h, lib/glob.c: Merge changes from glibc 2.34.
The result should be copyable directly into glibc.
* modules/glob-h (glob-libc.gl.h): Also omit __THROWNL.

3 years agoannounce-gen: Text fix suggested by Paul Eggert.
Simon Josefsson [Wed, 4 Aug 2021 09:18:39 +0000 (11:18 +0200)]
announce-gen: Text fix suggested by Paul Eggert.

3 years agoannounce-gen: Text fix suggested by Jim Meyering.
Simon Josefsson [Tue, 3 Aug 2021 19:16:33 +0000 (21:16 +0200)]
announce-gen: Text fix suggested by Jim Meyering.

3 years agomaintainer-makefile: Print checksums by default.
Simon Josefsson [Tue, 3 Aug 2021 15:16:42 +0000 (17:16 +0200)]
maintainer-makefile: Print checksums by default.

* top/maint.mk (announcement): Drop --no-print-checksums.

3 years agoannounce-gen: Print SHA1/B64(SHA256) instead of MD5/SHA1.
Simon Josefsson [Tue, 3 Aug 2021 15:15:16 +0000 (17:15 +0200)]
announce-gen: Print SHA1/B64(SHA256) instead of MD5/SHA1.

* build-aux/announce-gen (%digest_classes): Removed.
(usage): Doc fix.
(print_checksums): Instead of MD5/SHA1, print SHA1 and
B64(SHA256), inspired by OpenSSH announcements.

3 years agoautoupdate
Karl Berry [Tue, 3 Aug 2021 14:31:39 +0000 (07:31 -0700)]
autoupdate

3 years agomanywarnings: enable some malloc warnings
Paul Eggert [Mon, 2 Aug 2021 23:49:01 +0000 (16:49 -0700)]
manywarnings: enable some malloc warnings

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Stop adding
-Wno-analyzer-double-free, -Wno-analyzer-null-dereference, and
-Wno-analyzer-use-after-free, as these false alarms don’t seem
to be as much of an issue now that we’ve pacified a couple
of individual modules and GCC has some bug fixes.

3 years agodfa: omit unneeded malloc+free
Paul Eggert [Mon, 2 Aug 2021 18:36:30 +0000 (11:36 -0700)]
dfa: omit unneeded malloc+free

Problem indirectly found by Coverity.
* lib/dfa.c (enlistnew): New function, with most of the body of
the old ‘enlist’.  It assumes its arg NEW has been malloced and
can be freed eventually.
(enlist, addlists, dfamust): Use it.
(dfamust): Omit an unnecessary malloc+free.

3 years agoyear2038: work even if time_t is narrower than int
Paul Eggert [Mon, 2 Aug 2021 16:44:59 +0000 (09:44 -0700)]
year2038: work even if time_t is narrower than int

3 years agoyear2038: port to unusual time_t platforms
Paul Eggert [Mon, 2 Aug 2021 16:30:50 +0000 (09:30 -0700)]
year2038: port to unusual time_t platforms

* m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): Check that time_t
can go to 2**32 - 1, not to 2**63 - 1, as the former is enough to
be year 2038 safe.  Unsigned 32-bit time_t (AmigaOS) and signed
40-bit time_t (Unisys ClearPath) have occurred in the wild, and
even if Gnulib code is rarely or never ported to them there’s no
need to exclude them merely because of year 2038 issues.
(gl_YEAR2038_BODY): Adjust messages to match.  Use 2**32 - 1,
not 2**32, as the test timestamp, to allow unsigned 32-bit time_t.

3 years agoxalloc: no attribute (malloc (free)) on inline
Paul Eggert [Mon, 2 Aug 2021 05:27:49 +0000 (22:27 -0700)]
xalloc: no attribute (malloc (free)) on inline

The GCC manual says you can’t use __attribute__ ((__malloc__
(free, 1))) on inline functions.  Problem discovered when
compiling diffutils 3.8 on RHEL 8.4 using a GCC 11.2.0 that I
built myself.  Perhaps the problem was not discovered earlier
because the attribute works with ‘free’ (which is what I was
seeing before on Fedora 34) but not with ‘rpl_free’ (seen on RHEL
8.4).  Anyway, the GCC manual says it shouldn’t work at all, so
don’t use it.
* lib/xalloc.h (xnmalloc, xcharalloc): No longer inline.
* lib/xmalloc.c (xcharalloc, xnmalloc): Move function bodies here.
* m4/gnulib-common.m4 (_GL_ATTRIBUTE_DEALLOC)
(_GL_ATTRIBUTE_DEALLOC_FREE): Document that these cannot be
used on inline functions, as per the GCC 11.2.1 manual.

3 years ago* lib/quotarg.c: remove wrong, unneeded comment
Paul Eggert [Mon, 2 Aug 2021 00:59:05 +0000 (17:59 -0700)]
* lib/quotarg.c: remove wrong, unneeded comment

3 years agosigsegv-tests: make more things static
Paul Eggert [Mon, 2 Aug 2021 00:57:43 +0000 (17:57 -0700)]
sigsegv-tests: make more things static

* tests/test-sigsegv-catch-segv1.c:
* tests/test-sigsegv-catch-stackoverflow1.c:
* tests/test-sigsegv-catch-stackoverflow2.c:
Declare some functions and variables static, to pacify GCC when
warning about external functions missing declarations.

3 years agomanywarnings: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:56:18 +0000 (17:56 -0700)]
manywarnings: improve -fanalyzer malloc checking

3 years agoargmatch-tests: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:52:29 +0000 (17:52 -0700)]
argmatch-tests: improve -fanalyzer malloc checking

3 years agovasnprintf: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:51:11 +0000 (17:51 -0700)]
vasnprintf: improve -fanalyzer malloc checking

3 years agoxvasprintf: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:48:29 +0000 (17:48 -0700)]
xvasprintf: improve -fanalyzer malloc checking

3 years agoxstriconv: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:47:24 +0000 (17:47 -0700)]
xstriconv: improve -fanalyzer malloc checking

3 years agoxreadlink: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:46:47 +0000 (17:46 -0700)]
xreadlink: improve -fanalyzer malloc checking

3 years agoxmalloca: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:46:13 +0000 (17:46 -0700)]
xmalloca: improve -fanalyzer malloc checking

3 years agoxgethostname: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:45:24 +0000 (17:45 -0700)]
xgethostname: improve -fanalyzer malloc checking

3 years agoxgetcwd: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:44:46 +0000 (17:44 -0700)]
xgetcwd: improve -fanalyzer malloc checking

3 years agotrim: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:44:05 +0000 (17:44 -0700)]
trim: improve -fanalyzer malloc checking

3 years agosystem-quote: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:43:35 +0000 (17:43 -0700)]
system-quote: improve -fanalyzer malloc checking

3 years agosh-quote: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:42:56 +0000 (17:42 -0700)]
sh-quote: improve -fanalyzer malloc checking

3 years agosavedir: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:41:59 +0000 (17:41 -0700)]
savedir: improve -fanalyzer malloc checking

3 years agoreadutmp: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:40:30 +0000 (17:40 -0700)]
readutmp: improve -fanalyzer malloc checking

3 years agoquotearg: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:39:38 +0000 (17:39 -0700)]
quotearg: improve -fanalyzer malloc checking

3 years agopagalign_alloc: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:38:29 +0000 (17:38 -0700)]
pagalign_alloc: improve -fanalyzer malloc checking

3 years agomountlist: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:37:11 +0000 (17:37 -0700)]
mountlist: improve -fanalyzer malloc checking

3 years agomodechange: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:36:09 +0000 (17:36 -0700)]
modechange: improve -fanalyzer malloc checking

3 years agomalloca: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:35:17 +0000 (17:35 -0700)]
malloca: improve -fanalyzer malloc checking

3 years agofilenamecat-lgpl: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:31:38 +0000 (17:31 -0700)]
filenamecat-lgpl: improve -fanalyzer malloc checking

3 years agoexclude: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:30:17 +0000 (17:30 -0700)]
exclude: improve -fanalyzer malloc checking

3 years agodirname: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:29:26 +0000 (17:29 -0700)]
dirname: improve -fanalyzer malloc checking

3 years agodfa: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:28:01 +0000 (17:28 -0700)]
dfa: improve -fanalyzer malloc checking

3 years agomaint: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:24:52 +0000 (17:24 -0700)]
maint: improve -fanalyzer malloc checking

* lib/canonicalize.h:

3 years agobackupfile: improve -fanalyzer malloc checking
Paul Eggert [Mon, 2 Aug 2021 00:23:48 +0000 (17:23 -0700)]
backupfile: improve -fanalyzer malloc checking

* lib/backup-internal.h, lib/backupfile.h:
Add malloc-related attributes and include stdlib.h as needed.

3 years agoregex: pacify GCC 11.2.1's -fanalyzer
Jim Meyering [Sun, 1 Aug 2021 19:26:49 +0000 (12:26 -0700)]
regex: pacify GCC 11.2.1's -fanalyzer

* lib/regex_internal.c (re_node_set_merge):
Add a debug assertion to pacify GCC 11.2.1's -fanalyzer.

3 years agolimits-h tests: Add tests for BOOL_MAX and BOOL_WIDTH.
Bruno Haible [Sun, 1 Aug 2021 13:38:04 +0000 (15:38 +0200)]
limits-h tests: Add tests for BOOL_MAX and BOOL_WIDTH.

* tests/test-limits-h.c (bool_attrs): New variable.
Check value of BOOL_MAX.

3 years agoregex: pacify GCC 11.2 -fanalyzer
Paul Eggert [Sat, 31 Jul 2021 20:32:02 +0000 (13:32 -0700)]
regex: pacify GCC 11.2 -fanalyzer

* lib/regex_internal.c (re_node_set_insert):
Add a debug assertion to pacify GCC 11.2 -fanalyzer.