* doc/posix-functions/stdc_load8_aligned_bes8.texi: New file.
* doc/posix-functions/stdc_load8_aligned_bes16.texi: New file.
* doc/posix-functions/stdc_load8_aligned_bes32.texi: New file.
* doc/posix-functions/stdc_load8_aligned_bes64.texi: New file.
* doc/posix-functions/stdc_load8_aligned_beu8.texi: New file.
* doc/posix-functions/stdc_load8_aligned_beu16.texi: New file.
* doc/posix-functions/stdc_load8_aligned_beu32.texi: New file.
* doc/posix-functions/stdc_load8_aligned_beu64.texi: New file.
* doc/posix-functions/stdc_load8_bes8.texi: New file.
* doc/posix-functions/stdc_load8_bes16.texi: New file.
* doc/posix-functions/stdc_load8_bes32.texi: New file.
* doc/posix-functions/stdc_load8_bes64.texi: New file.
* doc/posix-functions/stdc_load8_beu8.texi: New file.
* doc/posix-functions/stdc_load8_beu16.texi: New file.
* doc/posix-functions/stdc_load8_beu32.texi: New file.
* doc/posix-functions/stdc_load8_beu64.texi: New file.
* doc/posix-functions/stdc_store8_aligned_bes8.texi: New file.
* doc/posix-functions/stdc_store8_aligned_bes16.texi: New file.
* doc/posix-functions/stdc_store8_aligned_bes32.texi: New file.
* doc/posix-functions/stdc_store8_aligned_bes64.texi: New file.
* doc/posix-functions/stdc_store8_aligned_beu8.texi: New file.
* doc/posix-functions/stdc_store8_aligned_beu16.texi: New file.
* doc/posix-functions/stdc_store8_aligned_beu32.texi: New file.
* doc/posix-functions/stdc_store8_aligned_beu64.texi: New file.
* doc/posix-functions/stdc_store8_bes8.texi: New file.
* doc/posix-functions/stdc_store8_bes16.texi: New file.
* doc/posix-functions/stdc_store8_bes32.texi: New file.
* doc/posix-functions/stdc_store8_bes64.texi: New file.
* doc/posix-functions/stdc_store8_beu8.texi: New file.
* doc/posix-functions/stdc_store8_beu16.texi: New file.
* doc/posix-functions/stdc_store8_beu32.texi: New file.
* doc/posix-functions/stdc_store8_beu64.texi: New file.
* doc/gnulib.texi (Functions in <stdbit.h>): Include these new files.
* doc/posix-functions/stdc_load8_aligned_les16.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_les32.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_les64.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_les8.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_leu16.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_leu32.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_leu64.texi: No module yet.
* doc/posix-functions/stdc_load8_aligned_leu8.texi: No module yet.
* doc/posix-functions/stdc_load8_les16.texi: No module yet.
* doc/posix-functions/stdc_load8_les32.texi: No module yet.
* doc/posix-functions/stdc_load8_les64.texi: No module yet.
* doc/posix-functions/stdc_load8_les8.texi: No module yet.
* doc/posix-functions/stdc_load8_leu16.texi: No module yet.
* doc/posix-functions/stdc_load8_leu32.texi: No module yet.
* doc/posix-functions/stdc_load8_leu64.texi: No module yet.
* doc/posix-functions/stdc_load8_leu8.texi: No module yet.
* doc/posix-functions/stdc_memreverse8.texi: No module yet.
* doc/posix-functions/stdc_memreverse8u16.texi: No module yet.
* doc/posix-functions/stdc_memreverse8u32.texi: No module yet.
* doc/posix-functions/stdc_memreverse8u64.texi: No module yet.
* doc/posix-functions/stdc_memreverse8u8.texi: No module yet.
* doc/posix-functions/stdc_rotate_left.texi: No module yet.
* doc/posix-functions/stdc_rotate_right.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_les16.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_les32.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_les64.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_les8.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_leu16.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_leu32.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_leu64.texi: No module yet.
* doc/posix-functions/stdc_store8_aligned_leu8.texi: No module yet.
* doc/posix-functions/stdc_store8_les16.texi: No module yet.
* doc/posix-functions/stdc_store8_les32.texi: No module yet.
* doc/posix-functions/stdc_store8_les64.texi: No module yet.
* doc/posix-functions/stdc_store8_les8.texi: No module yet.
* doc/posix-functions/stdc_store8_leu16.texi: No module yet.
* doc/posix-functions/stdc_store8_leu32.texi: No module yet.
* doc/posix-functions/stdc_store8_leu64.texi: No module yet.
* doc/posix-functions/stdc_store8_leu8.texi: No module yet.
* lib/stdbit.in.h: Setup #include_next for the system stdbit.h. Don't
declare C23 functions if the system has stdbit.h.
* m4/stdbit_h.m4 (gl_STDBIT_H): Define HAVE_STDBIT_H. Check for
stdc_rotate_left_uc to see if the system header is missing C2y features.
* modules/stdbit-h (Depends-on): Add include_next.
(Makefile.am): Substitute @HAVE_STDBIT_H@ and some variables needed for
* lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC_FREE): New macro, copied from
lib/string.in.h.
(free, rpl_free): Define as in lib/string.in.h.
(aprintf, vaprintf): New declarations.
* lib/vaprintf.c: New file, based on lib/xvasprintf.c.
* lib/aprintf.c: New file, based on lib/xasprintf.c.
* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
GNULIB_VAPRINTF. Require gl_STDLIB_H_REQUIRE_DEFAULTS.
* modules/stdio-h (Depends-on): Add stdlib-h.
(Makefile.am): Substitute GNULIB_VAPRINTF, GNULIB_FREE_POSIX,
REPLACE_FREE.
* modules/vaprintf: New file.
* doc/posix-functions/stdc_load8_aligned_les16.texi: New file.
* doc/posix-functions/stdc_load8_aligned_les32.texi: New file.
* doc/posix-functions/stdc_load8_aligned_les64.texi: New file.
* doc/posix-functions/stdc_load8_aligned_les8.texi: New file.
* doc/posix-functions/stdc_load8_aligned_leu16.texi: New file.
* doc/posix-functions/stdc_load8_aligned_leu32.texi: New file.
* doc/posix-functions/stdc_load8_aligned_leu64.texi: New file.
* doc/posix-functions/stdc_load8_aligned_leu8.texi: New file.
* doc/posix-functions/stdc_load8_les16.texi: New file.
* doc/posix-functions/stdc_load8_les32.texi: New file.
* doc/posix-functions/stdc_load8_les64.texi: New file.
* doc/posix-functions/stdc_load8_les8.texi: New file.
* doc/posix-functions/stdc_load8_leu16.texi: New file.
* doc/posix-functions/stdc_load8_leu32.texi: New file.
* doc/posix-functions/stdc_load8_leu64.texi: New file.
* doc/posix-functions/stdc_load8_leu8.texi: New file.
* doc/posix-functions/stdc_memreverse8.texi: New file.
* doc/posix-functions/stdc_memreverse8u16.texi: New file.
* doc/posix-functions/stdc_memreverse8u32.texi: New file.
* doc/posix-functions/stdc_memreverse8u64.texi: New file.
* doc/posix-functions/stdc_memreverse8u8.texi: New file.
* doc/posix-functions/stdc_rotate_left.texi: New file.
* doc/posix-functions/stdc_rotate_right.texi: New file.
* doc/posix-functions/stdc_store8_aligned_les16.texi: New file.
* doc/posix-functions/stdc_store8_aligned_les32.texi: New file.
* doc/posix-functions/stdc_store8_aligned_les64.texi: New file.
* doc/posix-functions/stdc_store8_aligned_les8.texi: New file.
* doc/posix-functions/stdc_store8_aligned_leu16.texi: New file.
* doc/posix-functions/stdc_store8_aligned_leu32.texi: New file.
* doc/posix-functions/stdc_store8_aligned_leu64.texi: New file.
* doc/posix-functions/stdc_store8_aligned_leu8.texi: New file.
* doc/posix-functions/stdc_store8_les16.texi: New file.
* doc/posix-functions/stdc_store8_les32.texi: New file.
* doc/posix-functions/stdc_store8_les64.texi: New file.
* doc/posix-functions/stdc_store8_les8.texi: New file.
* doc/posix-functions/stdc_store8_leu16.texi: New file.
* doc/posix-functions/stdc_store8_leu32.texi: New file.
* doc/posix-functions/stdc_store8_leu64.texi: New file.
* doc/posix-functions/stdc_store8_leu8.texi: New file.
* doc/gnulib.texi (Functions in <stdbit.h>): Change section title.
Include these new files.
* lib/stdbit.in.h (_gl_stdbit_clz): Renamed from __gl_stdbit_clz.
(_gl_stdbit_clzl): Renamed from __gl_stdbit_clzl.
(_gl_stdbit_clzll): Renamed from __gl_stdbit_clzll.
(_gl_stdbit_ctz): Renamed from __gl_stdbit_ctz.
(_gl_stdbit_ctzl): Renamed from __gl_stdbit_ctzl.
(_gl_stdbit_ctzll): Renamed from __gl_stdbit_ctzll.
(_gl_stdbit_popcount): Renamed from __gl_stdbit_popcount.
(_gl_stdbit_popcountl): Renamed from __gl_stdbit_popcountl.
(_gl_stdbit_popcountll): Renamed from __gl_stdbit_popcountll.
(_gl_stdbit_popcount_wide): Renamed from __gl_stdbit_popcount_wide.
(_gl_stdbit_popcount_support): Renamed from
__gl_stdbit_popcount_support.
(_gl_stdbit_popcount_supported): Renamed from
_gl_stdbit_popcount_supported.
* lib/stdc_count_ones.c: Update.
Reported by Pádraig Brady in
<https://lists.gnu.org/r/coreutils/2026-03/msg00015.html>.
* pygnulib/GLConfig.py (__init__): If --local-symlink or
--local-hardlink are not specified, use the value specified by --symlink
or --hardlink for local modules instead of copying.
This pacifies a warning from default clang 21, and saves a byte.
Problem reported by Badli Al Rashid <https://bugs.gnu.org/80514>.
* lib/strftime.c (c_ampm_letters): New static constant, if
!defined _NL_CURRENT && (HAVE_ONLY_C_LOCALE || (USE_C_LOCALE &&
!HAVE_STRFTIME_L)).
(ampm): Use it if needed.
* lib/filesystem-remote.h: New file, based on lib/file-remote.h.
* lib/filesystem-remote.c: New file, based on lib/file-remote.c.
* lib/file-remote.h (is_remote_fs_type_name): Remove declaration.
* lib/file-remote.c (is_remote_fs_type_name): Remove function.
* modules/filesystem-remote: New file.
* lib/mountlist.c: Include filesystem-remote.h instead of file-remote.h.
* modules/mountlist (Depends-on): Add filesystem-remote. Remove
file-remote.
* lib/cygpath.h: Include stdlib.h for free declaration.
(cygpath_w): Mark function with _GL_ATTRIBUTE_MALLOC and
_GL_ATTRIBUTE_DEALLOC_FREE since it will always return a malloc'ed
pointer or NULL.
* lib/string.in.h (_GL_STRING_INLINE): Remove macro.
(_GL_MEMEQ_INLINE): New macro.
(memeq): Use it instead of _GL_STRING_INLINE. Test GNULIB_MEMEQ.
(_GL_STREQ_INLINE): New macro.
(streq): Use it instead of _GL_STRING_INLINE. Test GNULIB_STREQ.
* lib/memeq.c: New file.
* lib/streq.c: New file.
* lib/string.c: Remove file.
* m4/memeq.m4: New file, based on m4/stringeq.m4.
* m4/streq.m4: New file, based on m4/stringeq.m4.
* m4/stringeq.m4: Remove file.
* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Initialize
GNULIB_MEMEQ, GNULIB_STREQ. Don't initialize GNULIB_STRINGEQ.
* modules/string-h (Makefile.am): Substitute GNULIB_MEMEQ, GNULIB_STREQ.
Don't substitute GNULIB_STRINGEQ.
* modules/memeq: New file.
* modules/streq: New file.
* modules/stringeq: Change to just be the union of streq and memeq.
* MODULES.html.sh (func_all_modules): Add memeq, streq.
* lib/file-remote.c (is_remote_fs_type_name): A new function
that matches file system _names_ as being remote. The list is
an amalgamation of those names already referenced in file-remote,
names referenced in ME_REMOTE, and IDs referenced in file-remote.
* lib/file-remote.h: Declare new function.
* lib/mountlist.c (ME_REMOTE): Use is_remote_fs_type_name()
to determine if the name is remote.
* modules/mountlist: Depend on file-remote.