commit b0582297a5ec17e66c50e8cda2df2b7eb418283f (HEAD -> gentoo/2.36)
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Aug 16 09:25:23 2022 +0200

    Linux: Fix enum fsconfig_command detection in <sys/mount.h>
    
    The #ifdef FSOPEN_CLOEXEC check did not work because the macro
    was always defined in this header prior to the check, so that
    the <linux/mount.h> contents did not matter.
    
    Fixes commit 774058d72942249f71d74e7f2b639f77184160a6
    ("linux: Fix sys/mount.h usage with kernel headers").
    
    (cherry picked from commit 2955ef4b7c9b56fcd7abfeddef7ee83c60abff98)
    (cherry picked from commit 3bd3c612e98a53ce60ed972f5cd2b90628b3cba5)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/sys/mount.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 6a30bfda9f95613a44999ea2d566222edb97b2c7
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Aug 10 14:24:47 2022 -0300

    linux: Fix sys/mount.h usage with kernel headers
    
    Now that kernel exports linux/mount.h and includes it on linux/fs.h,
    its definitions might clash with glibc exports sys/mount.h.  To avoid
    the need to rearrange the Linux header to be always after glibc one,
    the glibc sys/mount.h is changed to:
    
      1. Undefine the macros also used as enum constants.  This covers prior
         inclusion of <linux/mount.h> (for instance MS_RDONLY).
    
      2. Include <linux/mount.h> based on the usual __has_include check
         (needs to use __has_include ("linux/mount.h") to paper over GCC
         bugs.
    
      3. Define enum fsconfig_command only if FSOPEN_CLOEXEC is not defined.
         (FSOPEN_CLOEXEC should be a very close proxy.)
    
      4. Define struct mount_attr if MOUNT_ATTR_SIZE_VER0 is not defined.
         (Added in the same commit on the Linux side.)
    
    This patch also adds some tests to check if including linux/fs.h and
    linux/mount.h after and before sys/mount.h does work.
    
    Checked on x86_64-linux-gnu.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 774058d72942249f71d74e7f2b639f77184160a6)
    (cherry picked from commit bb1e8b0ca99b5cbedfae3e6245528a87d95ff3e2)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/Makefile             |  8 ++++
 sysdeps/unix/sysv/linux/sys/mount.h          | 71 ++++++++++++++++++++++++----
 sysdeps/unix/sysv/linux/tst-mount-compile.py | 66 ++++++++++++++++++++++++++
 3 files changed, 137 insertions(+), 8 deletions(-)

commit c8719bb8d6ea09a3136f1a1b72d5e128d2c9e0c2
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Aug 10 14:24:46 2022 -0300

    linux: Use compile_c_snippet to check linux/mount.h availability
    
    Checked on x86_64-linux-gnu.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit e1226cdc6b209539a92d32d5b620ba53fd35abf3)
    (cherry picked from commit d48813227b63a0d92ea357ea0733229ed74e31ab)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/tst-mount-consts.py | 5 +++++
 1 file changed, 5 insertions(+)

commit 2f87ce594979cb92321bb6b2c26879ecd6572916
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Aug 10 14:24:45 2022 -0300

    linux: Mimic kernel defition for BLOCK_SIZE
    
    To avoid possible warnings if the kernel header is included before
    sys/mount.h.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit c68b6044bc7945716431f1adc091b17c39b80a06)
    (cherry picked from commit 4dad97e2a2e510c6b53a0add29a2188714fcf4ab)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/sys/mount.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ac18b2cd36227ebd09cf260c51d0e7e539187c4f
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Aug 10 14:24:44 2022 -0300

    linux: Use compile_c_snippet to check linux/pidfd.h availability
    
    Instead of tying to a specific kernel version.
    
    Checked on x86_64-linux-gnu.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 1542019b69b7ec7b2cd34357af035e406d153631)
    (cherry picked from commit 1cc5513114e76083669cba1b11252aad35525e69)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/tst-pidfd-consts.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 98e117b03ca23f4d079b14e79fafeb7f5295171e
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Aug 10 16:24:06 2022 -0300

    glibcextract.py: Add compile_c_snippet
    
    It might be used on tests to check if a snippet build with the provided
    compiler and flags.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 841afa116e32b3c7195475769c26bf46fd870d32)
    (cherry picked from commit 0062e7dd1c3674ece2daca53a898badd28b60421)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 scripts/glibcextract.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 9c6be9ae19f24fdbcb751930890da272a3b35607
Author: Arjun Shankar <arjun@redhat.com>
Date:   Mon Aug 22 18:21:14 2022 +0200

    NEWS: Add entry for bug 28846
    
    (cherry picked from commit 5c62874f423af93e97b51bc9a57af228a546156f)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS | 1 +
 1 file changed, 1 insertion(+)

commit 8dc1a551d010ec6ca60f23b1ccc1fd92bc00fff5
Author: Arjun Shankar <arjun@redhat.com>
Date:   Tue Aug 2 11:10:25 2022 +0200

    socket: Check lengths before advancing pointer in CMSG_NXTHDR
    
    The inline and library functions that the CMSG_NXTHDR macro may expand
    to increment the pointer to the header before checking the stride of
    the increment against available space.  Since C only allows incrementing
    pointers to one past the end of an array, the increment must be done
    after a length check.  This commit fixes that and includes a regression
    test for CMSG_FIRSTHDR and CMSG_NXTHDR.
    
    The Linux, Hurd, and generic headers are all changed.
    
    Tested on Linux on armv7hl, i686, x86_64, aarch64, ppc64le, and s390x.
    
    [BZ #28846]
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 9c443ac4559a47ed99859bd80d14dc4b6dd220a1)
    (cherry picked from commit d13a7a6f100576b1e30dc044b2e0c4cbcb6196f6)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 bits/socket.h                         | 40 ++++++++++++---
 socket/Makefile                       |  1 +
 socket/tst-cmsghdr-skeleton.c         | 92 +++++++++++++++++++++++++++++++++++
 socket/tst-cmsghdr.c                  | 56 +++++++++++++++++++++
 sysdeps/mach/hurd/bits/socket.h       | 40 ++++++++++++---
 sysdeps/unix/sysv/linux/bits/socket.h | 40 ++++++++++++---
 sysdeps/unix/sysv/linux/cmsg_nxthdr.c | 36 +++++++++++---
 7 files changed, 276 insertions(+), 29 deletions(-)

commit d508540a4366ffec01c1f087654c589c23d5b76d
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Aug 22 11:04:47 2022 +0200

    alpha: Fix generic brk system call emulation in __brk_call (bug 29490)
    
    The kernel special-cases the zero argument for alpha brk, and we can
    use that to restore the generic Linux error handling behavior.
    
    Fixes commit b57ab258c1140bc45464b4b9908713e3e0ee35aa ("Linux:
    Introduce __brk_call for invoking the brk system call").
    
    (cherry picked from commit e7ad26ee3cb74e61d0637c888f24dd478d77af58)
    (cherry picked from commit 8b139cd4f1074ae0d95d9bff60db283a1ed72734)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS                                     | 1 +
 sysdeps/unix/sysv/linux/alpha/brk_call.h | 7 +++----
 2 files changed, 4 insertions(+), 4 deletions(-)

commit f42686bacdbe6045721be27f1e952d8cc017313c
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Aug 15 16:43:59 2022 +0200

    Linux: Terminate subprocess on late failure in tst-pidfd (bug 29485)
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit f82e05ebb295cadd35f7372f652c72264da810ad)
    (cherry picked from commit e982657073c4db21459ffd9e17bc505b1d64b876)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS                                | 1 +
 sysdeps/unix/sysv/linux/tst-pidfd.c | 7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 4cb43db8f54121eca576aad4e0ed9bd629b9a78f
Author: Noah Goldstein <goldstein.w.n@gmail.com>
Date:   Mon Aug 8 11:26:22 2022 +0800

    elf: Replace `strcpy` call with `memcpy` [BZ #29454]
    
    GCC normally does this optimization for us in
    strlen_pass::handle_builtin_strcpy but only for optimized
    build. To avoid needing to include strcpy.S in the rtld build to
    support the debug build, just do the optimization by hand.
    
    (cherry picked from commit 483cfe1a6a33d6335b1901581b41040d2d412511)
    (cherry picked from commit 302bc33bc53c787da6e74162a7092e9c0fb964a8)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 elf/dl-cache.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit d7f8619984a68a0ae499300f0a39bc9283763da5
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Aug 2 21:05:07 2022 +0000

    Update syscall lists for Linux 5.19
    
    Linux 5.19 has no new syscalls, but enables memfd_secret in the uapi
    headers for RISC-V.  Update the version number in syscall-names.list
    to reflect that it is still current for 5.19 and regenerate the
    arch-syscall.h headers with build-many-glibcs.py update-syscalls.
    
    Tested with build-many-glibcs.py.
    
    (cherry picked from commit fccadcdf5bed7ee67a6cef4714e0b477d6c8472c)
    (cherry picked from commit ac47d8f6cf9744139adb12f540fb9cc610cac579)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h | 1 +
 sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h | 1 +
 sysdeps/unix/sysv/linux/syscall-names.list        | 4 ++--
 3 files changed, 4 insertions(+), 2 deletions(-)

commit 163152cc549081d199aefe6483f70183fc035194
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 4 17:54:48 2022 +0200

    dlfcn: Pass caller pointer to static dlopen implementation (bug 29446)
    
    Fixes commit 0c1c3a771eceec46e66ce1183cf988e2303bd373 ("dlfcn: Move
    dlopen into libc").
    
    (cherry picked from commit ed0185e4129130cbe081c221efb758fb400623ce)
    (cherry picked from commit c74bb93cfdb04d49155b0e30983a3c866167bbca)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS           | 7 +++++++
 dlfcn/dlopen.c | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

commit fa03843b9e692a957ed1e3039844c84e2b54fc56 (tag: gentoo/glibc-2.36-1, gentoo/gentoo/2.36)
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Fri Apr 17 09:59:51 2020 -0300

    dirent: Deprecate getdirentries
    
    The interface has some issues:
    
      1. It is build on top getdents on Linux and requires handling
         non-LFS call using LFS getdents.
    
      2. It is not wildly used and the non-LFS support is as problematic
         as non-LFS readdir.  glibc only exports the LFS getdents.
    
      3. It is not a direct replacement over BSD since on some plataform
         its signature has changed (FreeBSD 11, for instance, used to
         set the offset as a 'long' and changed to 'off_t' on version 12).
    
    The idea is to eventually move the symbols to compat ones.

 NEWS                             |  4 ++++
 dirent/dirent.h                  | 14 ++++++++++----
 sysdeps/unix/sysv/linux/Makefile |  4 ++++
 3 files changed, 18 insertions(+), 4 deletions(-)

commit ad4fc484feeb9673fdf4beeab2aa57a203dbc1af
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Oct 20 16:00:43 2020 -0300

    linux: Use getdents64 on readdir64 compat implementation
    
    It uses a similar strategy from the non-LFS readdir that also
    uses getdents64 internally and uses a translation buffer to return
    the compat readdir64 entry.
    
    It allows to remove __old_getdents64.
    
    Checked on i686-linux-gnu.

 sysdeps/unix/sysv/linux/getdents64.c |  93 -------------------------------
 sysdeps/unix/sysv/linux/olddirent.h  |   2 -
 sysdeps/unix/sysv/linux/opendir.c    |  15 ++++-
 sysdeps/unix/sysv/linux/readdir64.c  | 104 ++++++++++++++++++++++-------------
 4 files changed, 79 insertions(+), 135 deletions(-)

commit e27c7ffd2e96577f2506e80c53f547030f4e6b17
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Apr 14 11:14:22 2020 -0300

    linux: Add __old_readdir64_unlocked
    
    And use it __old_readdir64_r.
    
    Checked on i686-linux-gnu.

 sysdeps/unix/sysv/linux/olddirent.h   |  2 +
 sysdeps/unix/sysv/linux/readdir64.c   | 21 +++++++---
 sysdeps/unix/sysv/linux/readdir64_r.c | 79 ++++++++---------------------------
 3 files changed, 35 insertions(+), 67 deletions(-)

commit 0912e91ad56805ff21bf83bf4384b9e34312151f
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Mon Apr 13 08:35:40 2020 -0300

    linux: Add __readdir64_unlocked
    
    And use it on readdir_r implementation.
    
    Checked on i686-linux-gnu.

 include/dirent.h                      |  1 +
 sysdeps/unix/sysv/linux/readdir64.c   | 20 ++++++---
 sysdeps/unix/sysv/linux/readdir64_r.c | 80 ++++++++---------------------------
 3 files changed, 33 insertions(+), 68 deletions(-)

commit d2bab57e21ab3a630d91489ea5fe0948d5c9a54b
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Mon Apr 13 18:09:20 2020 -0300

    linux: Set internal DIR filepos as off64_t [BZ #23960, BZ #24050]
    
    It allows to obtain the expected entry offset on telldir and set
    it correctly on seekdir on platforms where long int is smaller
    than off64_t.
    
    On such cases telldir will mantain an internal list that maps the
    DIR object off64_t offsets to the returned long int (the function
    return value).  The seekdir will then set the correct offset from
    the internal list using the telldir as the list key.
    
    It also removes the overflow check on readdir and the returned value
    will be truncated by the non-LFS off_t size.  As Joseph has noted
    in BZ #23960 comment #22, d_off is an opaque value and since
    telldir/seekdir works regardless of the returned dirent d_off value.
    
    Finally it removed the requirement to check for overflow values on
    telldir (BZ #24050).
    
    Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc-linux-gnu,
    and arm-linux-gnueabihf.

 dirent/Makefile                     |   2 +-
 dirent/tst-seekdir2.c               | 158 ++++++++++++++++++++++++++++++++++++
 sysdeps/unix/sysv/linux/closedir.c  |   4 +
 sysdeps/unix/sysv/linux/dirstream.h |   6 +-
 sysdeps/unix/sysv/linux/opendir.c   |   3 +
 sysdeps/unix/sysv/linux/readdir.c   |   1 +
 sysdeps/unix/sysv/linux/rewinddir.c |   5 ++
 sysdeps/unix/sysv/linux/seekdir.c   |  36 ++++++--
 sysdeps/unix/sysv/linux/telldir.c   |  47 ++++++++++-
 sysdeps/unix/sysv/linux/telldir.h   |  64 +++++++++++++++
 10 files changed, 317 insertions(+), 9 deletions(-)

commit f5bb1e7bc62702c747b026d76c0a7908305e99fd
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Oct 20 13:37:15 2020 -0300

    linux: Use getdents64 on non-LFS readdir
    
    The opendir allocates a translation buffer to be used to return the
    non-LFS readdir entry.  The obtained dirent64 struct is translated
    to the temporary buffer on each readdir call.
    
    Entries that overflow d_off/d_ino and the buffer reallocation failure
    (in case of large d_name) are ignored.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.

 sysdeps/unix/sysv/linux/closedir.c  |  4 ++
 sysdeps/unix/sysv/linux/dirstream.h |  5 ++
 sysdeps/unix/sysv/linux/opendir.c   | 21 ++++++++
 sysdeps/unix/sysv/linux/readdir.c   | 97 +++++++++++++++++++++++++++----------
 4 files changed, 101 insertions(+), 26 deletions(-)

commit c793ddd46414a28b4396c0d0704a318e1d0ebd42
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Oct 20 12:18:56 2020 -0300

    linux: Do not skip entries with zero d_ino values [BZ #12165]
    
    According to Linux commit 2adc376c55194 (vfs: avoid creation of inode
    number 0 in get_next_ino) Linux did not treat d_ino == 0 as a special
    case (it is a valid inode number).
    
    This patch fixes readdir{64} by not ignoring entried with d_ino being
    0.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.

 sysdeps/unix/sysv/linux/readdir.c   | 59 ++++++++++++++-----------------------
 sysdeps/unix/sysv/linux/readdir64.c | 59 ++++++++++++++-----------------------
 2 files changed, 44 insertions(+), 74 deletions(-)

commit 2889572b18c37b8e3b5fed8843cfd89614046f8d
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date:   Sat Jul 11 20:06:51 2020 +0300

    Fix miscompilation on ia64's gcc-10
    
    Bug: https://bugs.gentoo.org/723268
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/unix/sysv/linux/ia64/dl-sysdep.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 2883cc40dda2aa0abe0efcf4d31d700f12293f8a
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Fri Dec 14 20:43:04 2018 +0100

    Force -O0 in conform tests to survive $CC changes
    
    In bug #659030 Gentoo started passing user's CFLAGS via $CC variable.
    conform tests should but are not ready to handle -O1/-O2 yet.
    Tests fail to validate headers due to inlining of weak symbol aliases
    and other problems. Let's force it back to -O0 until it's fixed upstream.
    
    Original patch by Sergei, ported to the new python test framework by Andreas
    
    Bug: https://bugs.gentoo.org/659030
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 conform/conformtest.py   | 6 ++++--
 conform/linknamespace.py | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

commit eba6d9758feb8c1bbf634abfb3e9627f0974a33d
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Mon Oct 22 22:34:13 2018 +0200

    Adapt to Gentoo-specific /etc/mail/aliases
    
    Patch by pacho2
    
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
    (cherry picked from commit 4e616cda056f471b799beba2b1cedc787ad4ecc0)

 nss/nss_files/files-alias.c    |  2 +-
 nss/tst-nss-files-alias-leak.c | 18 +++++++++---------
 support/support_chroot.c       |  8 +++++++-
 3 files changed, 17 insertions(+), 11 deletions(-)

commit c38bf26eb16d1aacbcc5e452be12ba3d785b5d59
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Aug 3 00:34:59 2021 +0200

    Disable ldconfig during install
    
    Do not bother running ldconfig on DESTDIR.  It's a waste of time as we
    won't use the result (portage will rebuild the cache after install).
    Also, the Gentoo sandbox does not currently catch chroot() behavior so
    we end up (incorrectly) flagging it as a violation as a write to /etc.
    
    http://sourceware.org/ml/libc-alpha/2012-08/msg00118.html
    https://bugs.gentoo.org/431038

 Makefile | 1 +
 1 file changed, 1 insertion(+)

commit 33f1b4c1452b33991e670f636ebe98b90a405e10
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jul 29 10:50:56 2022 -0700

    wcsmbs: Add missing test-c8rtomb/test-mbrtoc8 dependency
    
    Make test-c8rtomb.out and test-mbrtoc8.out depend on $(gen-locales) for
    
      xsetlocale (LC_ALL, "de_DE.UTF-8");
      xsetlocale (LC_ALL, "zh_HK.BIG5-HKSCS");
    
    Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit e03f5ccd6cc8f829416156eac75acee501626c1f)

 wcsmbs/Makefile | 2 ++
 1 file changed, 2 insertions(+)

commit c3fda489cfdb2260f9fec706e6fd7259858c4467
Author: Tom Honermann <tom@honermann.net>
Date:   Sun Jul 24 01:11:43 2022 -0400

    stdlib: Suppress gcc diagnostic that char8_t is a keyword in C++20 in uchar.h.
    
    gcc 13 issues the following diagnostic for the uchar.h header when the
    -Wc++20-compat option is enabled in C++ modes that do not enable char8_t
    as a builtin type (C++17 and earlier by default; subject to _GNU_SOURCE
    and the gcc -f[no-]char8_t option).
      warning: identifier ‘char8_t’ is a keyword in C++20 [-Wc++20-compat]
    This change modifies the uchar.h header to suppress the diagnostic through
    the use of '#pragma GCC diagnostic' directives for gcc 10 and later (the
    -Wc++20-compat option was added in gcc version 10).  Unfortunately, a bug
    in gcc currently prevents those directives from having the intended effect
    as reported at https://gcc.gnu.org/PR106423.  A patch for that issue has
    been submitted and is available in the email thread archive linked below.
      https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598736.html
    
    (cherry picked from commit 825f84f133bd840347dc49229b6d831f07d04775)

 wcsmbs/uchar.h | 8 ++++++++
 1 file changed, 8 insertions(+)
