commit 4551706550ad424963dd19d60d7025f64dbd0663 (HEAD -> gentoo/2.35)
Author:     Carlos O'Donell <carlos@redhat.com>
AuthorDate: Fri Feb 4 21:56:59 2022 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 11 23:34:51 2022 +0100

    localedef: Update LC_MONETARY handling (Bug 28845)
    
    ISO C17, POSIX Issue 7, and ISO 30112 all allow the char*
    types to be empty strings i.e. "", integer or char values to
    be -1 or CHAR_MAX respectively, with the exception of
    decimal_point which must be non-empty in ISO C.
    
    We include a broad comment talking about harmonizing ISO C,
    POSIX, ISO 30112, and the default C/POSIX locale for glibc.
    
    We reorder all setting based on locale/categories.def order.
    
    We soften all missing definitions from errors to warnings when
    defaults exist.
    
    Given that ISO C, POSIX and ISO 30112 allow the empty string
    we change LC_MONETARY handling of mon_decimal_point to allow
    the empty string.  If mon_decimal_point is not defined at all
    then we pick the existing legacy glibc default value of
    <U002E> i.e. ".".
    
    We also set the default for mon_thousands_sep_wc at the
    same time as mon_thousands_sep, but this is not a change in
    behaviour, it is always either a matching value or L'\0',
    but if in the future we change the default to a non-empty
    string we would need to update both at the same time.
    
    Tested on x86_64 and i686 without regressions.
    Tested with install-locale-archive target.
    Tested with install-locale-files target.

 locale/programs/ld-monetary.c | 172 +++++++++++++++++++++++++++++++++---------
 1 file changed, 136 insertions(+), 36 deletions(-)

commit 5b431f9947e1a41e2a130046f5b3b3bc1bfadeb9 (tag: gentoo/glibc-2.35-1, gentoo/gentoo/2.35)
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Fri Apr 17 09:59:51 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:53:16 2022 +0100

    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                             |  6 ++++++
 dirent/dirent.h                  | 14 ++++++++++----
 sysdeps/unix/sysv/linux/Makefile |  4 ++++
 3 files changed, 20 insertions(+), 4 deletions(-)

commit f61e4e688f5dda508c511c38d4565e39f76d2f49
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Oct 20 16:00:43 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:36 2022 +0100

    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 8a104d7cc15bc96067a13fc99cf96377e00de690
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Apr 14 11:14:22 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:33 2022 +0100

    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 537d7871c3a23cc5c0a0c82d2aae7701031232cb
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Mon Apr 13 08:35:40 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:30 2022 +0100

    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 c5156366343c9e56b4dcbd6b3c0f8d24f48b4b65
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Mon Apr 13 18:09:20 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:27 2022 +0100

    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 f438c98e2872d2db0b9bbdf95b279434f1d4e4d0
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Oct 20 13:37:15 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:24 2022 +0100

    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 2ce49f9fafd95f3e2487a31c9a0302ee20ac83b2
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Oct 20 12:18:56 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:21 2022 +0100

    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 06b01dfa4e29b5a6838dd9050f3e9418c5dc77f5
Author:     Sam James <sam@gentoo.org>
AuthorDate: Wed Dec 1 14:58:40 2021 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:18 2022 +0100

    clone-internal.c: make clone3 syscall optional
    
    We're disabling clone3 for now _CONDITIONALLY_ (not by default) to allow
    compatibility with applications using older Electron.
    
    Use -DGENTOO_USE_CLONE3 to enable clone3 for now. In future, we will
    revert back to always using clone3.
    
    This was impacting e.g. Discord and Skype. This patch stops glibc from using
    clone3 internally (which is the only real use of it) and falls back to the old
    behaviour.
    
    Specifically, we want https://github.com/electron/electron/pull/31091
    to work its way downstream to various Electron applications.
    
    https://bugs.gentoo.org/819045
    https://bugs.gentoo.org/827386
    
    https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/glibc/plain/debian/patches/ubuntu/disable-clone3.patch
    
    This is the same as the patch that was considered but ultimately rejected
    for 2.34 because Docker got sorted out in time:
    https://patchwork.ozlabs.org/project/glibc/patch/87eebkf8ph.fsf@oldenburg.str.redhat.com/.
    
    Signed-off-by: Sam James <sam@gentoo.org>

 sysdeps/unix/sysv/linux/clone-internal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 03bae86fc31f63f030e8627e39ca26e34f9bdcbc
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: Sat Jul 11 20:06:51 2020 +0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:15 2022 +0100

    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 92e3aad83ca366195c1b71c3a24bcf427c287a32
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Fri Dec 14 20:43:04 2018 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:12 2022 +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 2a35f8c25c1978cbcb3fb00802894b97e1f4af28
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Mon Oct 22 22:34:13 2018 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:09 2022 +0100

    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 50a64786de27a505c62e08797ef1a2e2a3004fcf
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Tue Aug 29 22:58:50 2017 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:06 2022 +0100

    Revert " * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use gethostbyname4_r"
    
    This reverts commit 8479f23aa1d5e5477a37f46823856bdafaedfa46.
    
    See for the background
      https://sourceware.org/bugzilla/show_bug.cgi?id=16826
      https://bugs.gentoo.org/show_bug.cgi?id=600632
    
    This makes tst-nss-files-hosts-multi fail. Disable it.

 nss/Makefile                | 1 -
 sysdeps/posix/getaddrinfo.c | 9 ++-------
 2 files changed, 2 insertions(+), 8 deletions(-)

commit df44cee99620d8d4a8da04e1d1506a2cab3318ad
Author:     Mike Frysinger <vapier@gentoo.org>
AuthorDate: Tue Aug 3 00:34:59 2021 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 3 23:48:03 2022 +0100

    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 24962427071fa532c3c48c918e9d64d719cc8a6c
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Thu Feb 3 17:50:13 2022 -0300
Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
CommitDate: Thu Feb 3 17:50:13 2022 -0300

    Add BZ#28860 reference on NEWS

 NEWS | 2 ++
 1 file changed, 2 insertions(+)

commit 7001c1e38b46d5f5a90f7915b1211782341ab6a8
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Thu Feb 3 16:52:52 2022 -0300
Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
CommitDate: Thu Feb 3 17:08:50 2022 -0300

    linux: Fix missing __convert_scm_timestamps (BZ #28860)
    
    Commit 948ce73b31 made recvmsg/recvmmsg to always call
    __convert_scm_timestamps for 64 bit time_t symbol, so adjust it to
    always build it for __TIMESIZE != 64.
    
    It fixes build for architecture with 32 bit time_t support when
    configured with minimum kernel of 5.1.
    
    (cherry picked from 798d716df71fb23dc89d1d5dba1fc26a1b5c0024)

 sysdeps/unix/sysv/linux/convert_scm_timestamps.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a2f1675634b3513c09c38e55e6766e8c05768b1f
Author:     Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
AuthorDate: Tue Feb 1 22:39:02 2022 +0000
Commit:     Dmitry V. Levin <ldv@altlinux.org>
CommitDate: Thu Feb 3 11:04:08 2022 +0000

    linux: __get_nprocs_sched: do not feed CPU_COUNT_S with garbage [BZ #28850]
    
    Pass the actual number of bytes returned by the kernel.
    
    Fixes: 33099d72e41c ("linux: Simplify get_nprocs")
    Reviewed-by: Dmitry V. Levin <ldv@altlinux.org>
    
    (cherry picked from commit 97ba273b505763325efd802dc3a9562dbba79579)

 NEWS                                  | 1 +
 sysdeps/unix/sysv/linux/getsysstats.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit d2e4d2a38e4e7bc3ca407607e717b7f50b20c63f
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Wed Feb 2 18:31:59 2022 -0300
Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
CommitDate: Thu Feb 3 08:13:57 2022 -0300

    posix: Fix tst-spawn6 terminal handling (BZ #28853)
    
    The test changes the current foreground process group, which might
    break testing depending of how the make check is issued.  For instance:
    
      nohup make -j1 test t=posix/tst-spawn6 | less
    
    Will set 'make' and 'less' to be in the foreground process group in
    the current session.  When tst-spawn6 new child takes over it becomes
    the foreground process and 'less' is stopped and backgrounded which
    interrupts the 'make check' command.
    
    To fix it a pseudo-terminal is allocated, the test starts in new
    session (so there is no controlling terminal associated), and the
    pseudo-terminal is set as the controlling one (similar to what
    login_tty does).
    
    Checked on x86_64-linux-gnu.
    
    Tested-by: Carlos O'Donell <carlos@redhat.com>
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    
    (cherry picked from a9d35765728cbc5b66af5eeda5428298bccf9b69)

 NEWS               |  8 +++++++
 posix/tst-spawn6.c | 62 ++++++++++++++++++++++++++++++++++++++++++++----------
 2 files changed, 59 insertions(+), 11 deletions(-)

commit 9e8281add35dde70478464389fab6f0f7e75b880
Author:     Andreas Schwab <schwab@linux-m68k.org>
AuthorDate: Thu Feb 3 09:37:42 2022 +0100
Commit:     Andreas Schwab <schwab@linux-m68k.org>
CommitDate: Thu Feb 3 09:38:44 2022 +0100

    Regenerate configure

 configure | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
