commit ecbe0602fba2c359946084f0f8dae677a7dc0aad (HEAD -> gentoo/2.35, gentoo/gentoo/2.35)
Author:     Fangrui Song <maskray@google.com>
AuthorDate: Wed Apr 20 10:24:15 2022 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Apr 20 23:37:32 2022 +0200

    m68k: Handle fewer relocations for RTLD_BOOTSTRAP (#BZ29071)
    
    m68k is a non-PI_STATIC_AND_HIDDEN arch which uses a GOT relocation when
    loading the address of a jump table. The GOT load may be reordered
    before processing R_68K_RELATIVE relocations, leading to an
    unrelocated/incorrect jump table, which will cause a crash.
    
    The foolproof approach is to add an optimization barrier (e.g. calling
    an non-inlinable function after relative relocations are resolved). That
    is non-trivial given the current code structure, so just use the simple
    approach to avoid the jump table: handle only the essential reloctions
    for RTLD_BOOTSTRAP code.
    
    This is based on Andreas Schwab's patch and fixed ld.so crash on m68k.
    
    Reviewed-by: Adheemrval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit a8e9b5b8079d18116ca69c9797e77804ecf2ee7e)

 sysdeps/m68k/dl-machine.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 284836ea26f90941551cabbb8d6286cf1d06bd09
Author:     =Joshua Kinard <kumba@gentoo.org>
AuthorDate: Mon Apr 18 09:55:08 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Apr 18 19:12:39 2022 +0200

    mips: Fix mips64n32 64 bit time_t stat support (BZ#29069)
    
    Add missing support initially added by 4e8521333bea6e89fcef1020
    (which missed n32 stat).
    
    (cherry picked from commit 78fb88827362fbd2cc8aa32892ae5b015106e25c)
    (cherry picked from commit 8e8d46d59809824054dde501b0ba0e331a747078)

 NEWS                                            |  2 ++
 sysdeps/unix/sysv/linux/mips/bits/struct_stat.h | 38 +++++++++++++++----------
 2 files changed, 25 insertions(+), 15 deletions(-)

commit 2c34b2dfa242629b8c7174dab4a6af3b84faab22
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Tue Apr 12 22:14:34 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Apr 18 19:12:20 2022 +0200

    hurd: Fix arbitrary error code
    
    ELIBBAD is Linux-specific.
    
    (cherry picked from commit 67ab66541dc1164540abda284645e38be90b5119)
    (cherry picked from commit bd415684df590b14d4970acc93ad28719fffe4c1)

 nss/nss_test_errno.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e54a0543278b7ca411f0e149ffb3305f641335e4
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Wed Apr 6 12:24:42 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Apr 18 19:12:03 2022 +0200

    nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029)
    
    Some Linux interfaces never restart after being interrupted by a signal
    handler, regardless of the use of SA_RESTART [1].  It means that for
    pthread cancellation, if the target thread disables cancellation with
    pthread_setcancelstate and calls such interfaces (like poll or select),
    it should not see spurious EINTR failures due the internal SIGCANCEL.
    
    However recent changes made pthread_cancel to always sent the internal
    signal, regardless of the target thread cancellation status or type.
    To fix it, the previous semantic is restored, where the cancel signal
    is only sent if the target thread has cancelation enabled in
    asynchronous mode.
    
    The cancel state and cancel type is moved back to cancelhandling
    and atomic operation are used to synchronize between threads.  The
    patch essentially revert the following commits:
    
      8c1c0aae20 nptl: Move cancel type out of cancelhandling
      2b51742531 nptl: Move cancel state out of cancelhandling
      26cfbb7162 nptl: Remove CANCELING_BITMASK
    
    However I changed the atomic operation to follow the internal C11
    semantic and removed the MACRO usage, it simplifies a bit the
    resulting code (and removes another usage of the old atomic macros).
    
    Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu,
    and powerpc64-linux-gnu.
    
    [1] https://man7.org/linux/man-pages/man7/signal.7.html
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    Tested-by: Aurelien Jarno <aurelien@aurel32.net>
    
    (cherry-picked from commit 404656009b459658138ed1bd18f3c6cf3863e6a6)
    
    (cherry picked from commit ba9c42ac0e265bf1e4ec1075fa20e7166fda8bfc)

 NEWS                           |   2 +
 manual/process.texi            |   3 +-
 nptl/allocatestack.c           |   2 -
 nptl/cancellation.c            |  50 +++++++---
 nptl/cleanup_defer.c           |  42 +++++++--
 nptl/descr.h                   |  41 +++++---
 nptl/libc-cleanup.c            |  39 +++++++-
 nptl/pthread_cancel.c          | 110 ++++++++++++++++------
 nptl/pthread_join_common.c     |   7 +-
 nptl/pthread_setcancelstate.c  |  26 +++++-
 nptl/pthread_setcanceltype.c   |  31 +++++-
 nptl/pthread_testcancel.c      |   9 +-
 sysdeps/nptl/dl-tls_init_tp.c  |   3 -
 sysdeps/nptl/pthreadP.h        |   2 +-
 sysdeps/pthread/Makefile       |   1 +
 sysdeps/pthread/tst-cancel29.c | 207 +++++++++++++++++++++++++++++++++++++++++
 16 files changed, 484 insertions(+), 91 deletions(-)

commit a2b2c202b954e65e8b289408609c93d83cfc3ee3
Author:     Stefan Liebler <stli@linux.ibm.com>
AuthorDate: Wed Apr 13 14:36:09 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Apr 18 19:11:42 2022 +0200

    S390: Add new s390 platform z16.
    
    The new IBM z16 is added to platform string array.
    The macro _DL_PLATFORMS_COUNT is incremented.
    
    _dl_hwcaps_subdir is extended by "z16" if HWCAP_S390_VXRS_PDE2
    is set. HWCAP_S390_NNPA is not tested in _dl_hwcaps_subdirs_active
    as those instructions may be replaced or removed in future.
    
    tst-glibc-hwcaps.c is extended in order to test z16 via new marker5.
    
    A fatal glibc error is dumped if glibc was build with architecture
    level set for z16, but run on an older machine. (See dl-hwcap-check.h)
    
    (cherry picked from commit 2376944b9e5c0364b9fb473e4d8dabca31b57167)
    (cherry picked from commit 6583d534458e7f8beec8d0766b6db0bdaae6749c)

 elf/Makefile                             |  8 ++++++++
 elf/tst-glibc-hwcaps-cache.script        |  6 ++++++
 sysdeps/s390/dl-procinfo.c               |  5 +++--
 sysdeps/s390/dl-procinfo.h               |  2 +-
 sysdeps/s390/s390-64/Makefile            | 25 +++++++++++++++++++++++--
 sysdeps/s390/s390-64/dl-hwcap-check.h    |  6 +++++-
 sysdeps/s390/s390-64/dl-hwcaps-subdirs.c | 11 +++++++++--
 sysdeps/s390/s390-64/tst-glibc-hwcaps.c  |  8 ++++++--
 8 files changed, 61 insertions(+), 10 deletions(-)

commit 1a1f95f166f0d8edd26251a30fbc2c1768afd36b
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Wed Apr 13 14:18:28 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Apr 18 19:11:18 2022 +0200

    elf: Fix memory leak in _dl_find_object_update (bug 29062)
    
    The count can be zero if an object has already been loaded as
    an indirect dependency (so that l_searchlist.r_list in its link
    map is still NULL) is promoted to global scope via RTLD_GLOBAL.
    
    Fixes commit 5d28a8962dc ("elf: Add _dl_find_object function").
    
    (cherry picked from commit 4a41fc3cd9cea9223ea4f13f9c766a1e149a0ccc)
    (cherry picked from commit cc9a4a664faac44fe62b6300b878cf5be514658b)

 NEWS                 | 1 +
 elf/dl-find_object.c | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 75eb0d9dacbd878059b2d54c9ddadd6f0f887c2b
Author:     Carlos O'Donell <carlos@redhat.com>
AuthorDate: Tue Apr 12 13:26:10 2022 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Apr 18 19:10:51 2022 +0200

    NEWS: Move PLT tracking slowdown to glibc 2.35.
    
    In commit 063f9ba220f434c7f30dd65c4cff17c0c458a7cf the NEWS section
    was accidentally added to the glibc 2.34 NEWS section. The NEWS entry
    should have been added to glibc 2.35 which contained the committed
    fix. This moves the NEWS entry to correct section.
    
    (cherry picked from commit 2fe48f52833cf698374a9e607e447edec892e5c9)
    (cherry picked from commit db03235895150a91fb5bd84dd3f49b4d8ec8bc72)

 NEWS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit de4b8a6e635cdfb2c9893b86bc7c395e39b2d662 (tag: gentoo/glibc-2.35-5)
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Thu Mar 31 01:01:41 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Mar 31 01:01:41 2022 +0200

    Revert "Revert "clone-internal.c: make clone3 syscall optional""
    
    Was still needed after all, for zoom of all things...
    
    This reverts commit 6fc74e0bcd0104bf39e599075d729c9d7dd07104.

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

commit 6fc74e0bcd0104bf39e599075d729c9d7dd07104 (tag: gentoo/glibc-2.35-4)
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Sun Mar 20 23:54:51 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 20 23:54:51 2022 +0100

    Revert "clone-internal.c: make clone3 syscall optional"
    
    This reverts commit 06b01dfa4e29b5a6838dd9050f3e9418c5dc77f5.

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

commit f64954807b2a32410182ac0cae77768c8da71a3c
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Tue Mar 15 23:04:39 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 20 23:53:52 2022 +0100

    hppa: Use END instead of PSEUDO_END in swapcontext.S
    
    (cherry picked from commit 7a5c440102d4ec7fafd9bbd98eca9bd90ecaaafd)
    (cherry picked from commit 9be62976af04f4166a2c1cc5a842ef07bf223860)

 sysdeps/unix/sysv/linux/hppa/swapcontext.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5061fd34c9f08c6fdbcc4b9f6eb44addd9bd19c5
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Tue Mar 15 15:12:03 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 20 23:53:27 2022 +0100

    hppa: Implement swapcontext in assembler (bug 28960)
    
    When swapcontext.c is compiled without -g, the following error occurs:
    Error: CFI instruction used without previous .cfi_startproc
    
    Fix by converting swapcontext routine to assembler.
    
    (cherry picked from commit d05e6dc8d1032e1732542a48e0fb895432008b6e)
    (cherry picked from commit 01d5214bb44990323fa8474b7e4119949ac9733f)

 sysdeps/unix/sysv/linux/hppa/swapcontext.S | 72 ++++++++++++++++++++++++++
 sysdeps/unix/sysv/linux/hppa/swapcontext.c | 82 ------------------------------
 2 files changed, 72 insertions(+), 82 deletions(-)

commit 304c8d3e16fd7af17e7a1e05f4f2a04c72e0db1b
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Mar 11 08:23:56 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 20 23:53:10 2022 +0100

    nss: Protect against errno changes in function lookup (bug 28953)
    
    dlopen may clobber errno.  The nss_test_errno module uses an ELF
    constructor to achieve that, but there could be internal errors
    during dlopen that cause this, too.  Therefore, the NSS framework
    has to guard against such errno clobbers.
    
    __nss_module_get_function is currently the only function that calls
    __nss_module_load, so it is sufficient to save and restore errno
    around this call.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 9bdf92c79d63b42f931101bb6df87129c408b0c4)
    (cherry picked from commit 123bd1ec66d2d7ea4683e9563bd94adc67f41544)

 NEWS                     |  1 +
 nss/Makefile             | 15 +++++++++---
 nss/nss_module.c         | 12 +++++++++-
 nss/nss_test_errno.c     | 58 +++++++++++++++++++++++++++++++++++++++++++++
 nss/tst-nss-test_errno.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 143 insertions(+), 4 deletions(-)

commit 638eecd0b62cf1b7902f21417a6bfae9e503fe0b
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Mar 11 08:23:56 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 20 23:52:42 2022 +0100

    nss: Do not mention NSS test modules in <gnu/lib-names.h>
    
    They are not actually installed.  Use the nss_files version instead
    in nss/Makefile, similar to how __nss_shlib_revision is derived
    from LIBNSS_FILES_SO.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit aefc79ab5ad4bb9feea2876720cec70dca7cd8ed)
    (cherry picked from commit c54c5cd8e30ef82041b525ca4880685c673357ee)

 nss/Makefile   | 13 +++++--------
 shlib-versions |  5 -----
 2 files changed, 5 insertions(+), 13 deletions(-)

commit 045a54d41754cf8bafd4f7cd4809d7fa087a42b0
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Mon Feb 28 11:50:41 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 20 23:52:23 2022 +0100

    io: Add fsync call in tst-stat
    
    io/tst-stat and io/tst-stat-lfs fail sporadically on the Fedora
    builders, and this change hopefully helps to avoid the issue.
    
    (cherry picked from commit ae132284092edc5885315b44cd17d5ea91177e49)
    (cherry picked from commit 3149f47b808288ccfbf4e56234bc07bdae139708)

 io/tst-stat.c | 4 ++++
 1 file changed, 4 insertions(+)

commit fd939e8740a97b3ffc5816cebb7be947c7b560af
Author:     Sam James <sam@gentoo.org>
AuthorDate: Mon Mar 7 01:59:53 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Mar 7 02:02:01 2022 +0100

    Drop glibc lock when returning early
    
    Fixes 1bcdcd4fec9bfe2f1d3fef67a43825903f6a5f2b
    
    Bug: https://bugs.gentoo.org/828070
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
    (cherry picked from commit 81f6a812264e375a695e5b00e2906da8102cc9b6)

 nss/nss_database.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit fd396d11c40ebafc117b8827ca109d75faacf1dc
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Mon Feb 28 15:47:38 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 16:01:13 2022 +0100

    nptl: Fix cleanups for stack grows up [BZ# 28899]
    
    _STACK_GROWS_DOWN is defined to 0 when the stack grows up.  The
    code in unwind.c used `#ifdef _STACK_GROWS_DOWN' to selct the
    stack grows down define for FRAME_LEFT.  As a result, the
    _STACK_GROWS_DOWN define was always selected and cleanups were
    incorrectly sequenced when the stack grows up.
    
    (cherry picked from commit 2bbc694df279020a6620096d31c1e05c93966f9b)
    (cherry picked from commit e30c1c73da3f220f5bf0063a1d0344f8280311e7)

 nptl/unwind.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fc481833a266b0d7012a37763287a165b05647c4
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Tue Feb 22 18:51:35 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 16:00:57 2022 +0100

    hppa: Fix warnings from _dl_lookup_address
    
    This change fixes two warnings from _dl_lookup_address.
    
    The first warning comes from dropping the volatile keyword from
    desc in the call to _dl_read_access_allowed.  We now have a full
    atomic barrier between loading desc[0] and the access check, so
    desc no longer needs to be declared as volatile.
    
    The second warning comes from the implicit declaration of
    _dl_fix_reloc_arg.  This is fixed by including dl-runtime.h and
    declaring _dl_fix_reloc_arg in dl-runtime.h.
    
    (cherry picked from commit d2224ffbddc9d25ed5b0e34c212018c32d1e5a95)
    (cherry picked from commit ca0570fee323349bac834cf3bf3aef712f09cdc1)

 sysdeps/hppa/dl-fptr.c      | 15 ++++++++-------
 sysdeps/hppa/dl-lookupcfg.h |  1 +
 sysdeps/hppa/dl-runtime.c   |  4 ++--
 sysdeps/hppa/dl-runtime.h   |  3 +++
 4 files changed, 14 insertions(+), 9 deletions(-)

commit 4ad584fa7e9ce6f7de057cd1f4758ae4392d0644
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Tue Feb 22 17:28:46 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 16:00:40 2022 +0100

    hppa: Revise gettext trampoline design
    
    The current getcontext return trampoline is overly complex and it
    unnecessarily clobbers several registers.  By saving the context
    pointer (r26) in the context, __getcontext_ret can restore any
    registers not restored by setcontext.  This allows getcontext to
    save and restore the entire register context present when getcontext
    is entered.  We use the unused oR0 context slot for the return
    from __getcontext_ret.
    
    While this is not directly useful in C, it can be exploited in
    assembly code.  Registers r20, r23, r24 and r25 are not clobbered
    in the call path to getcontext.  This allows a small simplification
    of swapcontext.
    
    It also allows saving and restoring the 6-bit SAR register in the
    LSB of the oSAR context slot.  The getcontext flag value can be
    stored in the MSB of the oSAR slot.
    
    (cherry picked from commit 9e7e5fda38471e00d1190479ea91d7b08ae3e304)
    (cherry picked from commit d82d9cdff40492d46f75d5d12b3c9e2ac0c422fe)

 sysdeps/unix/sysv/linux/hppa/getcontext.S  | 50 ++++++++++++++++--------------
 sysdeps/unix/sysv/linux/hppa/setcontext.S  |  6 +++-
 sysdeps/unix/sysv/linux/hppa/swapcontext.c | 10 ++----
 3 files changed, 35 insertions(+), 31 deletions(-)

commit 42a00b98af74cf0d2513bd1aebccf77d9cd523df
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Fri Feb 18 20:38:25 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 16:00:22 2022 +0100

    hppa: Fix swapcontext
    
    This change fixes the failure of stdlib/tst-setcontext2 and
    stdlib/tst-setcontext7 on hppa.  The implementation of swapcontext
    in C is broken.  C saves the return pointer (rp) and any non
    call-clobbered registers (in this case r3, r4 and r5) on the
    stack.  However, the setcontext call in swapcontext pops the
    stack and subsequent calls clobber the saved registers.  When
    the context in oucp is restored, both tests fault.
    
    Here we rewrite swapcontext in assembly code to avoid using
    the stack for register values that need to be used after
    restoration.  The getcontext and setcontext routines are
    revised to save and restore register ret1 for normal returns.
    We copy the oucp pointer to ret1.  This allows access to
    the old context after calling getcontext and setcontext.
    
    (cherry picked from commit 71b108d7eb33b2bf3e61d5e92d2a47f74c1f7d96)
    (cherry picked from commit 2631d3b3a68108661deca311c3fc159a4ce62983)

 sysdeps/unix/sysv/linux/hppa/getcontext.S  |  3 ++
 sysdeps/unix/sysv/linux/hppa/setcontext.S  |  3 ++
 sysdeps/unix/sysv/linux/hppa/swapcontext.c | 59 ++++++++++++++++++++++++++----
 3 files changed, 58 insertions(+), 7 deletions(-)

commit 83b383c11642ef252bf4b553e7e63115525aa228
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Mon Feb 14 15:14:49 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 16:00:04 2022 +0100

    Fix elf/tst-audit2 on hppa
    
    The test elf/tst-audit2 fails on hppa with a segmentation fault in the
    long branch stub used to call malloc from calloc.  This occurs because
    the test is not a PIC executable and calloc is called from the dynamic
    linker before the dp register is initialized in _dl_start_user.
    
    The fix is to move the dp register initialization into
    elf_machine_runtime_setup.  Since the address of $global$ can't be
    loaded directly, we continue to use the DT_PLTGOT value from the
    the main_map to initialize dp.
    
    (cherry picked from commit 2e20cd63c96555d650c525ad5633475e8f11bed4)
    (cherry picked from commit 1f770811785e6c79db995b0390d1ef4e67e87d44)

 sysdeps/hppa/dl-machine.h | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

commit d3e239c834520c0aa019f9a46aa51b44f7637726
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Fri Feb 4 15:54:59 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 15:59:46 2022 +0100

    hppa: Fix bind-now audit (BZ #28857)
    
    On hppa, a function pointer returned by la_symbind is actually a function
    descriptor has the plabel bit set (bit 30).  This must be cleared to get
    the actual address of the descriptor.  If the descriptor has been bound,
    the first word of the descriptor is the physical address of theA function,
    otherwise, the first word of the descriptor points to a trampoline in the
    PLT.
    
    This patch also adds a workaround on tests because on hppa (and it seems
    to be the only ABI I have see it), some shared library adds a dynamic PLT
    relocation to am empty symbol name:
    
    $ readelf -r elf/tst-audit25mod1.so
    [...]
    Relocation section '.rela.plt' at offset 0x464 contains 6 entries:
     Offset     Info    Type            Sym.Value  Sym. Name + Addend
    00002008  00000081 R_PARISC_IPLT                508
    [...]
    
    It breaks some assumptions on the test, where a symbol with an empty
    name ("") is passed on la_symbind.
    
    Checked on x86_64-linux-gnu and hppa-linux-gnu.
    
    (Cherry-pick picked from 9e94f57484a2aba0fe67ea2059b5843f651887c2)
    
    (cherry picked from commit c60e6a458b8e2efc39c81d372a88d258009eb1b7)

 NEWS                        | 1 +
 elf/Makefile                | 2 +-
 elf/dl-audit.c              | 3 ++-
 elf/tst-auditmod24a.c       | 4 +++-
 elf/tst-auditmod24d.c       | 4 +++-
 elf/tst-auditmod25.c        | 2 +-
 sysdeps/hppa/dl-lookupcfg.h | 8 +++++---
 7 files changed, 16 insertions(+), 8 deletions(-)

commit e66e0a730911cc2c5c9b6cf9f46384389be58ca1
Author:     Arjun Shankar <arjun@redhat.com>
AuthorDate: Thu Feb 24 21:43:09 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 6 15:59:26 2022 +0100

    localedef: Handle symbolic links when generating locale-archive
    
    Whenever locale data for any locale included symbolic links, localedef
    would throw the error "incomplete set of locale files" and exclude it
    from the generated locale archive.  This commit fixes that.
    
    Co-authored-by: Florian Weimer <fweimer@redhat.com>
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit ea89d5bbd9e5e514b606045d909e6ab87d851c88)
    (cherry picked from commit 90797f49722b69818780b1111c0ecc9dbbbf0bdf)

 locale/programs/locarchive.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f0af399b3cc4ff87e771b0ec90305cea38c53825
Author:     Carlos O'Donell <carlos@redhat.com>
AuthorDate: Thu Feb 3 16:01:52 2022 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 25 18:34:38 2022 +0100

    localedata: Do not generate output if warnings were present.
    
    With LC_MONETARY parsing fixed we can now generate locales
    without forcing output with '-c'.
    
    Removing '-c' from localedef invocation is the equivalent of
    using -Werror for localedef.  The glibc locale sources should
    always be clean and free from warnings.
    
    We remove '-c' from both test locale generation and the targets
    used for installing locales e.g. install-locale-archive, and
    install-locale-files.
    
    Tested on x86_64 and i686 without regressions.
    Tested with install-locale-archive target.
    Tested with install-locale-files target.
    
    Reviewed-by: DJ Delorie <dj@redhat.com>
    (cherry picked from commit 1c7a34567d21fbd3b706c77cd794956b43daefe7)
    (cherry picked from commit 732dd3a63d39c7ca77e817b462285c14551c8b49)

 localedata/Makefile      |  4 ++--
 localedata/gen-locale.sh | 10 ++++++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

commit 83cc8517c38e0da2f30c07e1568bc9b20f5b848a
Author:     Carlos O'Donell <carlos@redhat.com>
AuthorDate: Thu Feb 3 16:51:59 2022 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 25 18:33:57 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. Note that
    the defaults for mon_grouping vary, but are functionaly
    equivalent e.g. "\177" (no further grouping reuqired) vs.
    "" (no grouping defined for all groups).
    
    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.
    
    Reviewed-by: DJ Delorie <dj@redhat.com>
    (cherry picked from commit 2ab8b74567dc0a9a3c98696e6444881997dd6c49)
    (cherry picked from commit 3feecd80013c822a12d4b01c5c25e155dfbc6e2f)

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

commit 1e226b4007391d9f7c1321069463fe7d70c3a5ac
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Fri Feb 25 18:33:39 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 25 18:33:39 2022 +0100

    Revert "localedef: Update LC_MONETARY handling (Bug 28845)"
    
    This reverts commit 4551706550ad424963dd19d60d7025f64dbd0663.

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

commit 454163c6b66cee8313dfe102adbfcf8e3f508265
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu Feb 24 07:58:36 2022 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 25 18:32:34 2022 +0100

    NEWS: Add a bug fix entry for BZ #28688
    
    (cherry picked from commit a787325e8316830f8d9a118aac5afee3c0e75617)

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

commit 67a1303eacb412e8f900c4aac3512b2e3cb8574c
Author:     Stafford Horne <shorne@gmail.com>
AuthorDate: Sat Feb 12 08:17:55 2022 +0900
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 25 18:32:16 2022 +0100

    resolv: Fix tst-resolv tests for 2.35 ABIs and later
    
    The commit 737e873b30 ("resolv: Do not build libanl.so for ABIs starting
    at 2.35") disabled building libanl for ports supporting only 2.35 and
    later like OpenRISC.
    
    However, the if statement was not updated quite correctly and the change
    ends up disabling many tst-resolv* tests.  This was not supposed to be
    done and it causes test dependency errors like:
    
         make: Entering directory 'gnu-home/glibc/resolv'
         make: *** No rule to make target 'gnu-home/build-glibc/resolv/tst-resolv-res_ninit.out', needed by 'gnu-home/build-glibc/resolv/mtrace-tst-resolv-res_ninit.out'. Stop.
         make: Leaving directory 'gnu-home/glibc/resolv'
    
    This patch move the extra-libs += libanl definition and condition down
    to be closer to other libanl definitions.  The $(have-GLIBC_2.34)
    condition now includes libanl-routines and libanl-shared-only-routines as
    well.
    
    Also, I have added a comment to endif of $(have-thread-library) to help
    show the bondary of the have-thread-library definitions.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit ee5d27bea53626c0187f77feec2c883f2c6ac4b3)
    (cherry picked from commit 264ad5d7d66c0f18587860d62498b8f2a9001400)

 resolv/Makefile | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit aaacd19df6add937a02eb9223c5c1daee84374ab
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sun Feb 6 11:12:24 2022 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Feb 25 18:31:45 2022 +0100

    elf: Replace tst-audit24bmod2.so with tst-audit24bmod2
    
    Replace tst-audit24bmod2.so with tst-audit24bmod2 to silence:
    
    make[2]: Entering directory '/export/gnu/import/git/gitlab/x86-glibc/elf'
    Makefile:2201: warning: overriding recipe for target '/export/build/gnu/tools-build/glibc-gitlab/build-x86_64-linux/elf/tst-audit24bmod2.so'
    ../Makerules:765: warning: ignoring old recipe for target '/export/build/gnu/tools-build/glibc-gitlab/build-x86_64-linux/elf/tst-audit24bmod2.so'
    
    (cherry picked from commit fa7ad1df1915c8a62f50e3a5b7e10f9c7118cd7f)
    (cherry picked from commit e247a3b1188f6c4b623bbfbe19bb415153c66637)

 elf/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 34ad69c93b5856a0b8ac2d3369db608b4e0dcd3e (tag: gentoo/glibc-2.35-3)
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Tue Feb 15 06:57:11 2022 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 21 23:10:08 2022 +0100

    elf: Check invalid hole in PT_LOAD segments [BZ #28838]
    
    Changes in v2:
    
    1. Update commit log.
    
    commit 163f625cf9becbb82dfec63a29e566324129c0cd
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Tue Dec 21 12:35:47 2021 -0800
    
        elf: Remove excessive p_align check on PT_LOAD segments [BZ #28688]
    
    removed the p_align check against the page size.  It caused the loader
    error or crash on elf/tst-p_align3 when loading elf/tst-p_alignmod3.so,
    which has the invalid p_align in PT_LOAD segments, added by
    
    commit d8d94863ef125a392b929732b37e07dc927fbcd1
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Tue Dec 21 13:42:28 2021 -0800
    
    The loader failure caused by a negative length passed to __mprotect is
    random, depending on architecture and toolchain.  Update _dl_map_segments
    to detect invalid holes.  This fixes BZ #28838.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 2c0915cbf570cb9c8a65f1d20a55c5a7238e5b63)
    (cherry picked from commit 1dd783fafdbc30bd82e078ccab42b9539d3274a5)

 elf/dl-map-segments.h | 3 +++
 1 file changed, 3 insertions(+)

commit 0210b3e97bc1dcffbd095695e60254e9e2b9da46
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Fri Feb 18 19:07:11 2022 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 21 23:09:43 2022 +0100

    NEWS: Add a bug fix entry for BZ #28896
    
    (cherry picked from commit 3226ffde07ae2bef3c2f57ad018829320f2922ee)

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

commit 55d11c902d8e805e3c56527529ec34d57063d7df
Author:     Noah Goldstein <goldstein.w.n@gmail.com>
AuthorDate: Fri Feb 18 17:00:25 2022 -0600
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 21 23:09:26 2022 +0100

    x86: Fix TEST_NAME to make it a string in tst-strncmp-rtm.c
    
    Previously TEST_NAME was passing a function pointer. This didn't fail
    because of the -Wno-error flag (to allow for overflow sizes passed
    to strncmp/wcsncmp)
    
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit b98d0bbf747f39770e0caba7e984ce9f8f900330)
    (cherry picked from commit 676f85759c5cd1eeb081e8b1c1c05a4f0fa3b92b)

 sysdeps/x86/tst-strncmp-rtm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 00e6ed0b691282cf1a31c4bd5cee04b688cc4d3f
Author:     Noah Goldstein <goldstein.w.n@gmail.com>
AuthorDate: Fri Feb 18 14:19:15 2022 -0600
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 21 23:09:07 2022 +0100

    x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896]
    
    In the overflow fallback strncmp-avx2-rtm and wcsncmp-avx2-rtm would
    call strcmp-avx2 and wcscmp-avx2 respectively. This would have
    not checks around vzeroupper and would trigger spurious
    aborts. This commit fixes that.
    
    test-strcmp, test-strncmp, test-wcscmp, and test-wcsncmp all pass on
    AVX2 machines with and without RTM.
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
    
    (cherry picked from commit 7835d611af0854e69a0c71e3806f8fe379282d6f)
    (cherry picked from commit d001088e221ab3f89d78ce3e914e97206a27c94b)

 sysdeps/x86/Makefile          |  5 ++++-
 sysdeps/x86/tst-strncmp-rtm.c | 32 +++++++++++++++++++++++---------
 sysdeps/x86/tst-wcsncmp-rtm.c | 21 +++++++++++++++++++++
 3 files changed, 48 insertions(+), 10 deletions(-)

commit 5db9ac6cb139cad1b9f6a25d10563502cd509c87
Author:     Noah Goldstein <goldstein.w.n@gmail.com>
AuthorDate: Tue Feb 15 08:18:15 2022 -0600
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 21 23:08:48 2022 +0100

    x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #28896]
    
    In the overflow fallback strncmp-avx2-rtm and wcsncmp-avx2-rtm would
    call strcmp-avx2 and wcscmp-avx2 respectively. This would have
    not checks around vzeroupper and would trigger spurious
    aborts. This commit fixes that.
    
    test-strcmp, test-strncmp, test-wcscmp, and test-wcsncmp all pass on
    AVX2 machines with and without RTM.
    
    Co-authored-by: H.J. Lu <hjl.tools@gmail.com>
    
    (cherry picked from commit c6272098323153db373f2986c67786ea8c85f1cf)
    (cherry picked from commit fd412fff6d2bd322ec24ebd13fab196efc6c5506)

 sysdeps/x86/Makefile                        |  2 +-
 sysdeps/x86/tst-strncmp-rtm.c               | 17 ++++++++++++++++-
 sysdeps/x86_64/multiarch/strcmp-avx2.S      |  2 +-
 sysdeps/x86_64/multiarch/strncmp-avx2-rtm.S |  1 +
 sysdeps/x86_64/multiarch/strncmp-avx2.S     |  1 +
 sysdeps/x86_64/multiarch/wcsncmp-avx2-rtm.S |  2 +-
 sysdeps/x86_64/multiarch/wcsncmp-avx2.S     |  2 +-
 7 files changed, 22 insertions(+), 5 deletions(-)

commit 48252feaf549302a0196fd4f336b32f70ebd0f8a
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Mon Feb 21 22:25:54 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 21 22:25:54 2022 +0100

    Fix build
    
    Restore bracket that accidentally got lost in aa1d70e59ee6ad1503bc853da75afb35d51381be
    
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 nss/nss_database.c | 1 +
 1 file changed, 1 insertion(+)

commit 849b1b6a9d9b541b73f96dcddcac60d706ac3832
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu Feb 17 08:10:35 2022 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 17 21:43:50 2022 +0100

    string: Add a testcase for wcsncmp with SIZE_MAX [BZ #28755]
    
    Verify that wcsncmp (L("abc"), L("abd"), SIZE_MAX) == 0.  The new test
    fails without
    
    commit ddf0992cf57a93200e0c782e2a94d0733a5a0b87
    Author: Noah Goldstein <goldstein.w.n@gmail.com>
    Date:   Sun Jan 9 16:02:21 2022 -0600
    
        x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755]
    
    and
    
    commit 7e08db3359c86c94918feb33a1182cd0ff3bb10b
    Author: Noah Goldstein <goldstein.w.n@gmail.com>
    Date:   Sun Jan 9 16:02:28 2022 -0600
    
        x86: Fix __wcsncmp_evex in strcmp-evex.S [BZ# 28755]
    
    This is for BZ #28755.
    
    Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
    
    (cherry picked from commit aa5a720056d37cf24924c138a3dbe6dace98e97c)
    (cherry picked from commit a30807b7db924d31681e9c6e98e78f2f46a2640c)

 string/test-strncmp.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 26a19f0defc5d9b9ae173e31a2717c61f1727fdb
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Mon Feb 14 10:35:30 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 17 01:27:28 2022 +0100

    linux: Use socket-constants-time64.h on tst-socket-timestamp-compat
    
    The kernel header might not define the SO_TIMESTAMP{NS}_OLD or
    SO_TIMESTAMP{NS}_NEW if it older than v5.1.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
    
    (cherry picked from commit fee62d6c6285548027e222c8dae597fec6577f23)
    (cherry picked from commit f055faf801cbffd9a0311774589de1cc745ccbe4)

 .../unix/sysv/linux/tst-socket-timestamp-compat.c  | 25 +++++++++++-----------
 1 file changed, 13 insertions(+), 12 deletions(-)

commit ccc1d0c9b6418c3ab5886a0a909deb9b6cfa27c6
Author:     Dmitry V. Levin <ldv@altlinux.org>
AuthorDate: Sat Feb 5 08:00:00 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Feb 17 01:26:45 2022 +0100

    linux: fix accuracy of get_nprocs and get_nprocs_conf [BZ #28865]
    
    get_nprocs() and get_nprocs_conf() use various methods to obtain an
    accurate number of processors.  Re-introduce __get_nprocs_sched() as
    a source of information, and fix the order in which these methods are
    used to return the most accurate information.  The primary source of
    information used in both functions remains unchanged.
    
    This also changes __get_nprocs_sched() error return value from 2 to 0,
    but all its users are already prepared to handle that.
    
    Old fallback order:
      get_nprocs:
        /sys/devices/system/cpu/online -> /proc/stat -> 2
      get_nprocs_conf:
        /sys/devices/system/cpu/ -> /proc/stat -> 2
    
    New fallback order:
      get_nprocs:
        /sys/devices/system/cpu/online -> /proc/stat -> sched_getaffinity -> 2
      get_nprocs_conf:
        /sys/devices/system/cpu/ -> /proc/stat -> sched_getaffinity -> 2
    
    Fixes: 342298278e ("linux: Revert the use of sched_getaffinity on get_nproc")
    Closes: BZ #28865
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    
    (cherry picked from commit e1d32b836410767270a3adf1f82b1a47e6e4cd51)
    (cherry picked from commit 491f2ef1f0ff849490f374917957018d07ee0586)

 NEWS                                  |  2 +
 sysdeps/unix/sysv/linux/getsysstats.c | 94 +++++++++++++++++++++++------------
 2 files changed, 65 insertions(+), 31 deletions(-)

commit aa1d70e59ee6ad1503bc853da75afb35d51381be
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Sat Feb 12 19:40:58 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Feb 12 19:43:48 2022 +0100

    Fix segfault in getpwuid when stat fails (BZ #28752)
    
    [azanella proposed this patch to sam when discussing the issue,
     but it's not anywhere upstream yet- dilfridge]
    
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28752
    Bug: https://bugs.gentoo.org/828070
    (cherry picked from commit 1bcdcd4fec9bfe2f1d3fef67a43825903f6a5f2b)

 nss/nss_database.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 4551706550ad424963dd19d60d7025f64dbd0663 (tag: gentoo/glibc-2.35-2)
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)
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(-)
