commit 5216d9a009a9f5aa9fa54d7273e50b6dc1e431de (HEAD -> gentoo/2.36, gentoo/gentoo/2.36)
Author:     Noah Goldstein <goldstein.w.n@gmail.com>
AuthorDate: Wed Dec 14 10:52:10 2022 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:26:52 2023 +0100

    x86: Prevent SIGSEGV in memcmp-sse2 when data is concurrently modified [BZ #29863]
    
    In the case of INCORRECT usage of `memcmp(a, b, N)` where `a` and `b`
    are concurrently modified as `memcmp` runs, there can be a SIGSEGV
    in `L(ret_nonzero_vec_end_0)` because the sequential logic
    assumes that `(rdx - 32 + rax)` is a positive 32-bit integer.
    
    To be clear, this change does not mean the usage of `memcmp` is
    supported.  The program behaviour is undefined (UB) in the
    presence of data races, and `memcmp` is incorrect when the values
    of `a` and/or `b` are modified concurrently (data race). This UB
    may manifest itself as a SIGSEGV. That being said, if we can
    allow the idiomatic use cases, like those in yottadb with
    opportunistic concurrency control (OCC), to execute without a
    SIGSEGV, at no cost to regular use cases, then we can aim to
    minimize harm to those existing users.
    
    The fix replaces a 32-bit `addl %edx, %eax` with the 64-bit variant
    `addq %rdx, %rax`. The 1-extra byte of code size from using the
    64-bit instruction doesn't contribute to overall code size as the
    next target is aligned and has multiple bytes of `nop` padding
    before it. As well all the logic between the add and `ret` still
    fits in the same fetch block, so the cost of this change is
    basically zero.
    
    The relevant sequential logic can be seen in the following
    pseudo-code:
    ```
        /*
         * rsi = a
         * rdi = b
         * rdx = len - 32
         */
        /* cmp a[0:15] and b[0:15]. Since length is known to be [17, 32]
        in this case, this check is also assumed to cover a[0:(31 - len)]
        and b[0:(31 - len)].  */
        movups  (%rsi), %xmm0
        movups  (%rdi), %xmm1
        PCMPEQ  %xmm0, %xmm1
        pmovmskb %xmm1, %eax
        subl    %ecx, %eax
        jnz L(END_NEQ)
    
        /* cmp a[len-16:len-1] and b[len-16:len-1].  */
        movups  16(%rsi, %rdx), %xmm0
        movups  16(%rdi, %rdx), %xmm1
        PCMPEQ  %xmm0, %xmm1
        pmovmskb %xmm1, %eax
        subl    %ecx, %eax
        jnz L(END_NEQ2)
        ret
    
    L(END2):
        /* Position first mismatch.  */
        bsfl    %eax, %eax
    
        /* The sequential version is able to assume this value is a
        positive 32-bit value because the first check included bytes in
        range a[0:(31 - len)] and b[0:(31 - len)] so `eax` must be
        greater than `31 - len` so the minimum value of `edx` + `eax` is
        `(len - 32) + (32 - len) >= 0`. In the concurrent case, however,
        `a` or `b` could have been changed so a mismatch in `eax` less or
        equal than `(31 - len)` is possible (the new low bound is `(16 -
        len)`. This can result in a negative 32-bit signed integer, which
        when zero extended to 64-bits is a random large value this out
        out of bounds. */
        addl %edx, %eax
    
        /* Crash here because 32-bit negative number in `eax` zero
        extends to out of bounds 64-bit offset.  */
        movzbl  16(%rdi, %rax), %ecx
        movzbl  16(%rsi, %rax), %eax
    ```
    
    This fix is quite simple, just make the `addl %edx, %eax` 64 bit (i.e
    `addq %rdx, %rax`). This prevents the 32-bit zero extension
    and since `eax` is still a low bound of `16 - len` the `rdx + rax`
    is bound by `(len - 32) - (16 - len) >= -16`. Since we have a
    fixed offset of `16` in the memory access this must be in bounds.
    
    (cherry picked from commit b712be52645282c706a5faa038242504feb06db5)
    (cherry picked from commit 93967a2a7bbdcedb73e0b246713580c7c84d001e)

 sysdeps/x86_64/multiarch/memcmp-sse2.S | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 0bee1e9f6e256cb6181ef975c233745695293923
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Thu Jan 5 18:21:25 2023 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:25:56 2023 +0100

    time: Set daylight to 1 for matching DST/offset change (bug 29951)
    
    The daylight variable is supposed to be set to 1 if DST is ever in
    use for the current time zone.  But __tzfile_read used to do this:
    
      __daylight = rule_stdoff != rule_dstoff;
    
    This check can fail to set __daylight to 1 if the DST and non-DST
    offsets happen to be the same.
    
    [test addition stripped out because of binary diff- dilfridge]
    
    (cherry picked from commit 35141f304e319109c322f797ae71c0b9420ccb05)
    (cherry picked from commit e05036b194559cbfcdfcfb1b920d37b939e3e35c)

 NEWS          |  1 +
 time/tzfile.c | 41 ++++++++++++++++++++++-------------------
 2 files changed, 23 insertions(+), 19 deletions(-)

commit fd26d3e5d520e8bb4af11b2f6a8714e91f745570
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sat Nov 12 11:20:31 2022 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:15:08 2023 +0100

    elf/tst-tlsopt-powerpc fails when compiled with -mcpu=power10 (BZ# 29776)
    
    Supports pcrel addressing of TLS GOT entry.  Also tweak the non-pcrel
    asm constraint to better reflect how the reg is used.
    
    (cherry picked from commit 94628de77888c3292fc103840731ff85f283368e)
    (cherry picked from commit dbd23eaca95eb0264b6325c7286a4b370a67404d)

 NEWS                                 | 1 +
 sysdeps/powerpc/mod-tlsopt-powerpc.c | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

commit 99cc18fab3315791949c24709734fce46fcc5bcb
Author:     Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
AuthorDate: Wed Sep 21 10:51:08 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:14:47 2023 +0100

    x86: Fix -Os build (BZ #29576)
    
    The compiler might transform __stpcpy calls (which are routed to
    __builtin_stpcpy as an optimization) to strcpy and x86_64 strcpy
    multiarch implementation does not build any working symbol due
    ISA_SHOULD_BUILD not being evaluated for IS_IN(rtld).
    
    Checked on x86_64-linux-gnu.
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Tested-by: Carlos O'Donell <carlos@redhat.com>
    
    (cherry picked from commit 9dc4e29f630c6ef8299120b275e503321dc0c8c7)
    (cherry picked from commit 4f4d7a13edfd2fdc57c9d76e1fd6d017fb47550c)

 NEWS                                   |  2 ++
 sysdeps/x86_64/multiarch/rtld-strcpy.S | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+)

commit 9fab75a415137cd8d899518853b6745f1d9273e3
Author:     Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
AuthorDate: Wed Sep 21 10:51:07 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:14:30 2023 +0100

    sunrpc: Suppress GCC -Os warning on user2netname
    
    GCC with -Os warns that sprint might overflow:
    
      netname.c: In function ‘user2netname’:
      netname.c:51:28: error: ‘%s’ directive writing up to 255 bytes into a
      region of size between 239 and 249 [-Werror=format-overflow=]
         51 |   sprintf (netname, "%s.%d@%s", OPSYS, uid, dfltdom);
            |                            ^~               ~~~~~~~
      netname.c:51:3: note: ‘sprintf’ output between 8 and 273 bytes into a
      destination of size 256
         51 |   sprintf (netname, "%s.%d@%s", OPSYS, uid, dfltdom);
            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
    
    However the code does test prior the sprintf call that dfltdom plus
    the required extra space for OPSYS, uid, and extra character will not
    overflow and return 0 instead.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Tested-by: Carlos O'Donell <carlos@redhat.com>
    
    (cherry picked from commit 6128e82ebe973163d2dd614d31753c88c0c4d645)
    (cherry picked from commit 997d844a97b0478a3a7f9e7d7027c7431edbb51d)

 sunrpc/netname.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit d1ab3b4a1e992378ed791fd4b7e1f41a93eefb0a
Author:     Martin Jansa <Martin.Jansa@gmail.com>
AuthorDate: Wed Sep 21 10:51:03 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:14:10 2023 +0100

    locale: prevent maybe-uninitialized errors with -Os [BZ #19444]
    
    Fixes following error when building  with -Os:
    | In file included from strcoll_l.c:43:
    | strcoll_l.c: In function '__strcoll_l':
    | ../locale/weight.h:31:26: error: 'seq2.back_us' may be used
    uninitialized in this function [-Werror=maybe-uninitialized]
    |    int_fast32_t i = table[*(*cpp)++];
    |                           ^~~~~~~~~
    | strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
    |    coll_seq seq1, seq2;
    |                   ^~~~
    | In file included from strcoll_l.c:43:
    | ../locale/weight.h:31:26: error: 'seq1.back_us' may be used
    uninitialized in this function [-Werror=maybe-uninitialized]
    |    int_fast32_t i = table[*(*cpp)++];
    |                           ^~~~~~~~~
    | strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
    |    coll_seq seq1, seq2;
    |             ^~~~
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Tested-by: Carlos O'Donell <carlos@redhat.com>
    
    (cherry picked from commit c651f9da530320e9939e6cbad57b87695eeba41c)
    (cherry picked from commit 4444be051cae74fed390d4bc1a15ed730cc07b02)

 locale/weight.h | 7 +++++++
 1 file changed, 7 insertions(+)

commit d90c1a39f86e9b2d65119416f1ce5a23d0d6e73e
Author:     Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
AuthorDate: Wed Oct 26 16:04:25 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:13:50 2023 +0100

    time: Use 64 bit time on tzfile
    
    The tzfile_mtime is already compared to 64 bit time_t stat call.
    Reviewed-by: DJ Delorie <dj@redhat.com>
    
    (cherry picked from commit 4e21c2075193e406a92c0d1cb091a7c804fda4d9)
    (cherry picked from commit 4321cbc2af788827e56e5581f56d7da2876b48f1)

 time/tzfile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 94add7d73716cba4ff98cd0435d94aa493ca827c
Author:     Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
AuthorDate: Wed Oct 26 16:04:24 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:13:25 2023 +0100

    nscd: Use 64 bit time_t on libc nscd routines (BZ# 29402)
    
    Although the nscd module is built with 64 bit time_t, the routines
    linked direct to libc.so need to use the internal symbols.
    Reviewed-by: DJ Delorie <dj@redhat.com>
    
    (cherry picked from commit fa4a19277842fd09a4815a986f70e0fe0903836f)
    (cherry picked from commit c1e080bc9521d2282a1f60c2ee19d80adae672ee)

 NEWS                 | 1 +
 nscd/nscd.h          | 2 +-
 nscd/nscd_gethst_r.c | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit a3a5eab041ee9173bdc43d5e95670a508a2765f0
Author:     Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
AuthorDate: Wed Oct 26 16:04:23 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:13:08 2023 +0100

    nis: Build libnsl with 64 bit time_t
    
    And remove the usage of glibc reserved names.
    Reviewed-by: DJ Delorie <dj@redhat.com>
    
    (cherry picked from commit 545eefc2f5da61801ba82b7a32ca2589b769ec90)
    (cherry picked from commit fdcd20a55bf88f79f6457d36a93aee69f9bed971)

 Makeconfig     |  2 +-
 nis/nis_call.c | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

commit ffd0ea5d8c41cd10e4f182384cab340895f21e2d
Author:     Tulio Magno Quites Machado Filho <tuliom@redhat.com>
AuthorDate: Fri Nov 11 17:00:15 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:12:46 2023 +0100

    Apply asm redirections in syslog.h before first use [BZ #27087]
    
    Similar to d0fa09a770, but for syslog.h when _FORTIFY_SOURCE > 0.
    Fixes [BZ #27087] by applying long double-related asm redirections
    before using functions in bits/syslog.h.
    
    Tested with build-many-glibcs.py.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 227df6243a2b5b4d70d11772d12c02eb9cb666ca)
    (cherry picked from commit 3aae843e9e9e6a2502e98ff44d2671b20a023f8e)

 misc/bits/syslog.h | 18 ++++++++++++++----
 misc/sys/syslog.h  | 10 +++++-----
 2 files changed, 19 insertions(+), 9 deletions(-)

commit 3139413d184451674d23b50eb5d82b71b114dd97
Author:     Noah Goldstein <goldstein.w.n@gmail.com>
AuthorDate: Tue Sep 20 17:58:04 2022 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:12:22 2023 +0100

    x86: Fix wcsnlen-avx2 page cross length comparison [BZ #29591]
    
    Previous implementation was adjusting length (rsi) to match
    bytes (eax), but since there is no bound to length this can cause
    overflow.
    
    Fix is to just convert the byte-count (eax) to length by dividing by
    sizeof (wchar_t) before the comparison.
    
    Full check passes on x86-64 and build succeeds w/ and w/o multiarch.
    
    (cherry picked from commit b0969fa53a28b4ab2159806bf6c99a98999502ee)
    (cherry picked from commit fa196d06d392f9bb2eae2f41613c6b0710f26293)

 string/test-strnlen.c                  | 70 ++++++++++++++++++++--------------
 sysdeps/x86_64/multiarch/strlen-avx2.S |  7 +---
 2 files changed, 43 insertions(+), 34 deletions(-)

commit 7c80e994005ff9ec75e9d77c0b7b4e10c2b05d1a
Author:     Vladislav Khmelevsky <och95@yandex.ru>
AuthorDate: Thu Nov 17 12:47:29 2022 +0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 21 00:12:00 2023 +0100

    elf: Fix rtld-audit trampoline for aarch64
    
    This patch fixes two problems with audit:
    
      1. The DL_OFFSET_RV_VPCS offset was mixed up with DL_OFFSET_RG_VPCS,
         resulting in x2 register value nulling in RG structure.
    
      2. We need to preserve the x8 register before function call, but
         don't have to save it's new value and restore it before return.
    
    Anyway the final restore was using OFFSET_RV instead of OFFSET_RG value
    which is wrong (althoug doesn't affect anything).
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit eb4181e9f4a512de37dad4ba623c921671584dea)
    (cherry picked from commit 2ba9801d9f222de9fe1f5f04dcd1c276e56b4245)

 sysdeps/aarch64/dl-trampoline.S | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit db478cb29e1a4c4b56dbd36d32118c3f982121be (tag: gentoo/glibc-2.36-6)
Author:     Joseph Myers <joseph@codesourcery.com>
AuthorDate: Mon Oct 31 23:20:08 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 19 19:55:31 2022 +0100

    Fix build with GCC 13 _FloatN, _FloatNx built-in functions
    
    GCC 13 has added more _FloatN and _FloatNx versions of existing
    <math.h> and <complex.h> built-in functions, for use in libstdc++-v3.
    
    This breaks the glibc build because of how those functions are defined
    as aliases to functions with the same ABI but different types.  Add
    appropriate -fno-builtin-* options for compiling relevant files, as
    already done for the case of long double functions aliasing double
    ones and based on the list of files used there.
    
    I fixed some mistakes in that list of double files that I noticed
    while implementing this fix, but there may well be more such
    (harmless) cases, in this list or the new one (files that don't
    actually exist or don't define the named functions as aliases so don't
    need the options).  I did try to exclude cases where glibc doesn't
    define certain functions for _FloatN or _FloatNx types at all from the
    new uses of -fno-builtin-* options.  As with the options for double
    files (see the commit message for commit
    49348beafe9ba150c9bd48595b3f372299bddbb0, "Fix build with GCC 10 when
    long double = double."), it's deliberate that the options are used
    even if GCC currently doesn't have a built-in version of a given
    functions, so providing some level of future-proofing against more
    such built-in functions being added in future.
    
    Tested with build-many-glibcs.py for aarch64-linux-gnu
    powerpc-linux-gnu powerpc64le-linux-gnu x86_64-linux-gnu (compilers
    and glibcs builds) with GCC mainline.
    
    (cherry picked from commit f66780ba46805760a328f01967836416b06c93ca)

 math/Makefile                                      | 247 ++++++++++++++++++++-
 sysdeps/ieee754/float128/Makefile                  | 127 +++++++++++
 sysdeps/ieee754/ldbl-128/Makefile                  | 127 +++++++++++
 sysdeps/ieee754/ldbl-96/Makefile                   | 126 +++++++++++
 sysdeps/powerpc/powerpc32/fpu/Makefile             |   4 +-
 sysdeps/powerpc/powerpc64/fpu/Makefile             |   6 +-
 .../powerpc/powerpc64/le/fpu/multiarch/Makefile    | 125 +++++++++++
 sysdeps/x86_64/x32/Makefile                        |   3 +-
 8 files changed, 753 insertions(+), 12 deletions(-)

commit 108f70b32f853f193d2c850fd2b88c6560bba570
Author:     Joseph Myers <joseph@codesourcery.com>
AuthorDate: Fri Sep 30 19:36:41 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 19 19:54:03 2022 +0100

    Fix iseqsig for _FloatN and _FloatNx in C++ with GCC 13
    
    With GCC 13, _FloatN and _FloatNx types, when they exist, are distinct
    types like they are in C with GCC 7 and later, rather than typedefs
    for types such as float, double or long double.
    
    This breaks the templated iseqsig implementation for C++ in <math.h>,
    when used with types that were previously implemented as aliases.  Add
    the necessary definitions for _Float32, _Float64, _Float128 (when the
    same format as long double), _Float32x and _Float64x in this case, so
    that iseqsig can be used with such types in C++ with GCC 13 as it
    could with previous GCC versions.
    
    Also add tests for calling iseqsig in C++ with arguments of such types
    (more minimal than existing tests, so that they can work with older
    GCC versions and without relying on any C++ library support for the
    types or on hardcoding details of their formats).  The LDBL_MANT_DIG
    != 106 conditionals on some tests are because the type-generic
    comparison macros have undefined behavior when neither argument has a
    type whose set of values is a subset of those for the type of the
    other argument, which applies when one argument is IBM long double and
    the other is an IEEE format wider than binary64.
    
    Tested with build-many-glibcs.py glibcs build for aarch64-linux-gnu
    i686-linux-gnu mips-linux-gnu mips64-linux-gnu-n32 powerpc-linux-gnu
    powerpc64le-linux-gnu x86_64-linux-gnu.
    
    (cherry picked from commit ba70f6959876b6daba180afbe427710e4383e357)

 math/math.h               |  50 +++++++-
 math/test-math-iseqsig.cc | 290 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 339 insertions(+), 1 deletion(-)

commit 83bd8bd8f6d99954c99e3ced879a688f927fecc3
Author:     Joseph Myers <joseph@codesourcery.com>
AuthorDate: Wed Sep 28 20:09:34 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 19 19:53:05 2022 +0100

    Update _FloatN header support for C++ in GCC 13
    
    GCC 13 adds support for _FloatN and _FloatNx types in C++, so breaking
    the installed glibc headers that assume such support is not present.
    GCC mostly works around this with fixincludes, but that doesn't help
    for building glibc and its tests (glibc doesn't itself contain C++
    code, but there's C++ code built for tests).  Update glibc's
    bits/floatn-common.h and bits/floatn.h headers to handle the GCC 13
    support directly.
    
    In general the changes match those made by fixincludes, though I think
    the ones in sysdeps/powerpc/bits/floatn.h, where the header tests
    __LDBL_MANT_DIG__ == 113 or uses #elif, wouldn't match the existing
    fixincludes patterns.
    
    Some places involving special C++ handling in relation to _FloatN
    support are not changed.  There's no need to change the
    __HAVE_FLOATN_NOT_TYPEDEF definition (also in a form that wouldn't be
    matched by the fixincludes fixes) because it's only used in relation
    to macro definitions using features not supported for C++
    (__builtin_types_compatible_p and _Generic).  And there's no need to
    change the inline function overloads for issignaling, iszero and
    iscanonical in C++ because cases where types have the same format but
    are no longer compatible types are handled automatically by the C++
    overload resolution rules.
    
    This patch also does not change the overload handling for iseqsig, and
    there I think changes *are* needed, beyond those in this patch or made
    by fixincludes.  The way that overload is defined, via a template
    parameter to a structure type, requires overloads whenever the types
    are incompatible, even if they have the same format.  So I think we
    need to add overloads with GCC 13 for every supported _FloatN and
    _FloatNx type, rather than just having one for _Float128 when it has a
    different ABI to long double as at present (but for older GCC, such
    overloads must not be defined for types that end up defined as
    typedefs for another type).
    
    Tested with build-many-glibcs.py: compilers build for
    aarch64-linux-gnu ia64-linux-gnu mips64-linux-gnu powerpc-linux-gnu
    powerpc64le-linux-gnu x86_64-linux-gnu; glibcs build for
    aarch64-linux-gnu ia64-linux-gnu i686-linux-gnu mips-linux-gnu
    mips64-linux-gnu-n32 powerpc-linux-gnu powerpc64le-linux-gnu
    x86_64-linux-gnu.
    
    (cherry picked from commit 3e5760fcb48528d48deeb60cb885a97bb731160c)

 bits/floatn-common.h                   | 40 +++++++++++++++++-----------------
 sysdeps/ia64/bits/floatn.h             |  6 ++---
 sysdeps/ieee754/ldbl-128/bits/floatn.h |  6 ++---
 sysdeps/mips/ieee754/bits/floatn.h     |  6 ++---
 sysdeps/powerpc/bits/floatn.h          |  6 ++---
 sysdeps/x86/bits/floatn.h              |  6 ++---
 6 files changed, 35 insertions(+), 35 deletions(-)

commit cf3bf9e7e2a0fc1bcf33de778e3e0f639c9b9555
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Nov 8 14:15:02 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:12:43 2022 +0100

    Linux: Support __IPC_64 in sysvctl *ctl command arguments (bug 29771)
    
    Old applications pass __IPC_64 as part of the command argument because
    old glibc did not check for unknown commands, and passed through the
    arguments directly to the kernel, without adding __IPC_64.
    Applications need to continue doing that for old glibc compatibility,
    so this commit enables this approach in current glibc.
    
    For msgctl and shmctl, if no translation is required, make
    direct system calls, as we did before the time64 changes.  If
    translation is required, mask __IPC_64 from the command argument.
    
    For semctl, the union-in-vararg argument handling means that
    translation is needed on all architectures.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 22a46dee24351fd5f4f188ad80554cad79c82524)
    (cherry picked from commit 0f90d6204d79223fd32248c774df0cb7f0e604de)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS                               |  1 +
 sysdeps/unix/sysv/linux/ipc_priv.h |  6 ++++++
 sysdeps/unix/sysv/linux/msgctl.c   | 38 +++++++++++++++++++++++++-------------
 sysdeps/unix/sysv/linux/semctl.c   |  7 +++++++
 sysdeps/unix/sysv/linux/shmctl.c   | 38 +++++++++++++++++++++++++-------------
 5 files changed, 64 insertions(+), 26 deletions(-)

commit 28fe05eda7c48fdd97650d09502f524e4da42b43
Author:     Paul Eggert <eggert@cs.ucla.edu>
AuthorDate: Thu Sep 8 20:08:32 2022 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:12:25 2022 +0100

    mktime: improve heuristic for ca-1986 Indiana DST
    
    This patch syncs mktime.c from Gnulib, fixing a
    problem reported by Mark Krenz <https://bugs.gnu.org/48085>,
    and it should fix BZ#29035 too.
    * time/mktime.c (__mktime_internal): Be more generous about
    accepting arguments with the wrong value of tm_isdst, by falling
    back to a one-hour DST difference if we find no nearby DST that is
    unusual.  This fixes a problem where "1986-04-28 00:00 EDT" was
    rejected when TZ="America/Indianapolis" because the nearest DST
    timestamp occurred in 1970, a temporal distance too great for the
    old heuristic.  This also also narrows the search a bit, which
    is a minor performance win.
    
    (cherry picked from commit 83859e1115269cf56d21669361d4ddbe2687831c)
    (cherry picked from commit 70410f2286cc36c9ccb133878811c728ae51725f)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 time/mktime.c | 28 ++++++++++++++++++++--------
 1 file changed, 20 insertions(+), 8 deletions(-)

commit 1ae412f6d585237ac68d280c165d7090b62aad9d
Author:     caiyinyu <caiyinyu@loongson.cn>
AuthorDate: Wed Oct 12 20:28:42 2022 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:11:51 2022 +0100

    LoongArch: Fix ABI related macros in elf.h to keep consistent with binutils[1].
    
    [1]:
    https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c4a7e6b56218e1d5a858682186b542e2eae01a4a;hp=0d94a8735055432029237612a6eb9165db1ec9dd
    [2]:
    Reference: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_e_flags_identifies_abi_type_and_version
    
    (cherry picked from commit 2fce85f67c56e46863db40b8ca75bbf0fa993053)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 elf/elf.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 6c137760dfa3397f6e641992ac8a1b79b51cec86
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Tue Nov 1 20:43:55 2022 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:11:33 2022 +0100

    linux: Fix fstatat on MIPSn64 (BZ #29730)
    
    Commit 6e8a0aac2f883 ("time: Fix overflow itimer tests on 32-bit
    systems") changed in_time_t_range to assume a 32-bit time_t. This broke
    fstatat on MIPSn64 that was using it with a 64-bit time_t due to
    difference between stat and stat64. This commit fix that by adding a
    MIPSn64 specific version, which bypasses the EOVERFLOW tests.
    
    Resolves: BZ #29730
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 7457b7eef8dfe8cc48e55b9f9837df6dd397b80d)
    (cherry picked from commit dd4131c8322891a0ad7cfb661efa41aecc02b581)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS                                              |  1 +
 sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c | 51 +++++++++++++++++++++++
 2 files changed, 52 insertions(+)

commit 624a84f2352abe22f24d7e00870225f2ef6e9fda
Author:     Xi Ruoyao <xry111@xry111.site>
AuthorDate: Sat Oct 15 14:12:13 2022 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:11:13 2022 +0100

    longlong.h: update from GCC for LoongArch clz/ctz support
    
    Update longlong.h to GCC r13-3269.  Keep our local change (prefer https
    for gnu.org URL).
    
    (cherry picked from commit 4c6a78addabbd6e1b69763e286768919e56dfe0a)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 stdlib/longlong.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit a0607f51cf6e0884efe459004b99c6050df5e49d
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Oct 25 13:19:16 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:10:55 2022 +0100

    elf: Reinstate on DL_DEBUG_BINDINGS _dl_lookup_symbol_x
    
    The prelink removal done by 6628c742b2c16e wrongly removed the debug
    support.
    
    Checked on x86_64-linux-gnu.
    
    (cherry picked from commit 891a7958a28eac6d4af1517dd2896fef5e4951d4)
    (cherry picked from commit a1dc0be03c9dd850b864bd7a9c03cf8e396eb7ca)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 elf/dl-lookup.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit e58f9cae5f30684d38bc6dff321ff165a3bb1993
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Wed Oct 19 19:14:04 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:10:38 2022 +0100

    linux: Fix generic struct_stat for 64 bit time (BZ# 29657)
    
    The generic Linux struct_stat misses the conditionals to use
    bits/struct_stat_time64_helper.h in the __USE_TIME_BITS64 for
    architecture that uses __TIMESIZE == 32 (currently csky and nios2).
    
    Since newer ports should not support 32 bit time_t, the generic
    implementation should be used as default.
    
    For arm, hppa, and sh a copy of default struct_stat is added,
    while for csky and nios a new one based on generic is used, along
    with conditionals to use bits/struct_stat_time64_helper.h.
    
    The default struct_stat is also replaced with the generic one.
    
    Checked on aarch64-linux-gnu and arm-linux-gnueabihf.
    
    (cherry picked from commit 7a6ca82f8007ddbd43e2b8fce806ba7101ee47f5)
    (cherry picked from commit 7b7dfbb0cbdffebf0233c650627a4861212fbb60)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS                                               |   2 +
 sysdeps/unix/sysv/linux/arm/bits/struct_stat.h     | 139 +++++++++++++++++++++
 sysdeps/unix/sysv/linux/bits/struct_stat.h         | 116 ++++++++---------
 .../linux/{generic => csky}/bits/struct_stat.h     |  28 +++--
 sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h    | 139 +++++++++++++++++++++
 sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h   | 135 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/sh/bits/struct_stat.h      | 139 +++++++++++++++++++++
 7 files changed, 624 insertions(+), 74 deletions(-)

commit ab60bdaa80c9a67a40e311f3063fba3a5c49aded
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 10 00:39:33 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:10:15 2022 +0100

    Avoid undefined behaviour in ibm128 implementation of llroundl (BZ #29488)
    
    Detecting an overflow edge case depended on signed overflow of a long
    long. Replace the additions and the overflow checks by
    __builtin_add_overflow().
    
    Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
    (cherry picked from commit 2b5478569e72ee4820a6e163d306690c9c0eaf5e)
    (cherry picked from commit 9273b2d0e93e7355656cad3be3a1ca76489df483)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 NEWS                                     |  2 ++
 sysdeps/ieee754/ldbl-128ibm/s_llroundl.c | 21 +++++++++------------
 2 files changed, 11 insertions(+), 12 deletions(-)

commit 13a33a42912bc3a5cddfd7f97bfdec67d545db0d
Author:     Michael Hudson-Doyle <michael.hudson@canonical.com>
AuthorDate: Mon Aug 22 14:05:04 2022 +1200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Nov 12 22:09:55 2022 +0100

    Fix BZ #29463 in the ibm128 implementation of y1l too
    
    Avoid moving code across SET_RESTORE_ROUNDL in order to fix
    [BZ #29463].
    
    Tested-by: Aurelien Jarno <aurelien@aurel32.net>
    Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
    Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
    (cherry picked from commit b6e37b7805b0182c3e25cdab39ebf5f001c04d05)
    (cherry picked from commit b357157361117182c7a68c90fda7ba431b64442c)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 sysdeps/ieee754/ldbl-128ibm/e_j1l.c | 3 +++
 1 file changed, 3 insertions(+)

commit 10f03800c78c0def2ee22b262824fd7dcb8c04d4 (tag: gentoo/glibc-2.36-5)
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Oct 14 11:02:25 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:41:07 2022 +0200

    elf: Do not completely clear reused namespace in dlmopen (bug 29600)
    
    The data in the _ns_debug member must be preserved, otherwise
    _dl_debug_initialize enters an infinite loop.  To be conservative,
    only clear the libc_map member for now, to fix bug 29528.
    
    Fixes commit d0e357ff45a75553dee3b17ed7d303bfa544f6fe
    ("elf: Call __libc_early_init for reused namespaces (bug 29528)"),
    by reverting most of it.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    Tested-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 2c42257314536b94cc8d52edede86e94e98c1436)
    (cherry picked from commit 19535f3b57306ea3ec559a6c0b10d2d7a87418a7)

 NEWS                    |  1 +
 elf/dl-open.c           | 14 ++++++--------
 elf/tst-dlmopen-twice.c | 28 ++++++++++++++++++++++++----
 3 files changed, 31 insertions(+), 12 deletions(-)

commit c27c6b3a3909c296fe7c3a5b110b5fffa645c364
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Sep 23 19:30:57 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:40:47 2022 +0200

    nss: Use shared prefix in IPv4 address in tst-reload1
    
    Otherwise, sorting based on the longest-matching prefix in
    getaddrinfo can reorder the addresses in ways the test does not
    expect, depending on the IPv4 address of the host.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit c02e29a0ba47d636281e1a026444a1a0a254aa12)
    (cherry picked from commit 908454129d21126bf7fc58f2a520b1f304dc5f02)

 nss/tst-reload1.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 7a34b18176f4e9d09a55898d93c44f36f1f9ec87
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 13 16:11:40 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:40:30 2022 +0200

    nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816)
    
    getent implicitly passes AI_ADDRCONFIG to getaddrinfo by default.
    Use --no-addrconfig to suppress that, so that both IPv4 and IPv6
    lookups succeed even if the address family is not supported by the
    host.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit c75d20b5b27b0a60f0678236f51a4d3b0b058c00)
    (cherry picked from commit 2681d38cafaceafeb330bc0536fa710b75ed5947)

 NEWS                           | 1 +
 nss/tst-nss-files-hosts-long.c | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

commit ed786199a7fa470d4d8ec696d255e0ee0c251499
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 13 16:10:20 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:40:11 2022 +0200

    nss: Implement --no-addrconfig option for getent
    
    The ahosts, ahostsv4, ahostsv6 commands unconditionally pass
    AI_ADDRCONFIG to getaddrinfo, which is not always desired.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit a623f13adfac47c8634a7288e08f821a846bc650)
    (cherry picked from commit 700d3281f9e57b53c27bc991394b22d467432626)

 NEWS         |  7 +++++++
 nss/getent.c | 11 ++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

commit f4869584d66c27dd6bfa9c93e9a3d43fc85b32c7
Author:     Michael Hudson-Doyle <michael.hudson@canonical.com>
AuthorDate: Fri Aug 12 11:29:31 2022 +1200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:39:54 2022 +0200

    Ensure calculations happen with desired rounding mode in y1lf128
    
    math/test-float128-y1 fails on x86_64 and ppc64el with gcc 12 and -O3,
    because code inside a block guarded by SET_RESTORE_ROUNDL is being moved
    after the rounding mode has been restored. Use math_force_eval to
    prevent this (and insert some math_opt_barrier calls to prevent code
    from being moved before the rounding mode is set).
    
    Fixes #29463
    
    Reviewed-By: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
    (cherry picked from commit 2b274fd8c9c776cf70fcdb8356e678ada522a7b0)
    (cherry picked from commit 3e279192749cfcae4ceebb1f21a3275e677d0561)

 NEWS                             | 1 +
 sysdeps/ieee754/ldbl-128/e_j1l.c | 3 +++
 2 files changed, 4 insertions(+)

commit abf1f306b9e3ffbbb617b0e5ef657f53a191cfc8
Author:     Siddhesh Poyarekar <siddhesh@sourceware.org>
AuthorDate: Tue Oct 4 18:43:50 2022 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:39:37 2022 +0200

    nscd: Drop local address tuple variable [BZ #29607]
    
    When a request needs to be resent (e.g. due to insufficient buffer
    space), the references to subsequent tuples in the local variable are
    stale and should not be used.  This used to work by accident before, but
    since 1d495912a it no longer does.  Instead of trying to reset it, just
    let gethostbyname4_r write into TUMPBUF6 for us, thus maintaining a
    consistent state at all times.  This is now consistent with what is done
    in gaih_inet for getaddrinfo.
    
    Resolves: BZ #29607
    Reported-by: Holger Hoffstätte <holger@applied-asynchrony.com>
    Tested-by: Holger Hoffstätte <holger@applied-asynchrony.com>
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 6e33e5c4b73cea7b8aa3de0947123db16200fb65)
    (cherry picked from commit 2bd815d8347851212b9a91dbdca8053f4dbdac87)

 NEWS           | 2 ++
 nscd/aicache.c | 5 ++---
 2 files changed, 4 insertions(+), 3 deletions(-)

commit 4d6bf0923b202e961e2bfe6b1435223487972bf0
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:39:19 2022 +0200

    x86-64: Require BMI1/BMI2 for AVX2 strrchr and wcsrchr implementations
    
    The AVX2 strrchr and wcsrchr implementation uses the 'blsmsk'
    instruction which belongs to the BMI1 CPU feature and the 'shrx'
    instruction, which belongs to the BMI2 CPU feature.
    
    Fixes: df7e295d18ff ("x86: Optimize {str|wcs}rchr-avx2")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit 7e8283170c5d6805b609a040801d819e362a6292)
    (cherry picked from commit 2d8ef784bd6a784496a6fd460de6b6f57c70a501)

 sysdeps/x86/isa-level.h                    |  1 +
 sysdeps/x86_64/multiarch/ifunc-avx2.h      |  1 +
 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 17 ++++++++++++++---
 3 files changed, 16 insertions(+), 3 deletions(-)

commit e1a52231d8684ce9980825e5cf9423662ea3f65a
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:39:01 2022 +0200

    x86-64: Require BMI2 and LZCNT for AVX2 memrchr implementation
    
    The AVX2 memrchr implementation uses the 'shlxl' instruction, which
    belongs to the BMI2 CPU feature and uses the 'lzcnt' instruction, which
    belongs to the LZCNT CPU feature.
    
    Fixes: af5306a735eb ("x86: Optimize memrchr-avx2.S")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit 3c0c78afabfed4b6fc161c159e628fbf14ff370b)
    (cherry picked from commit 923c3f3c373f499e62160e00831dda576443317b)

 sysdeps/x86/isa-level.h                    |  1 +
 sysdeps/x86_64/multiarch/ifunc-avx2.h      |  1 +
 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 10 ++++++++--
 3 files changed, 10 insertions(+), 2 deletions(-)

commit 1ca7cb44c2a353160226f47bd5d8438db19216e5
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:38:44 2022 +0200

    x86-64: Require BMI2 for AVX2 (raw|w)memchr implementations
    
    The AVX2 memchr, rawmemchr and wmemchr implementations use the 'bzhi'
    and 'sarx' instructions, which belongs to the BMI2 CPU feature.
    
    Fixes: acfd088a1963 ("x86: Optimize memchr-avx2.S")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit e3e7fab7fe5186d18ca2046d99ba321c27db30ad)
    (cherry picked from commit d9196d4f3fa9997388655813ddd236426a16dd92)

 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit d6083f0011cc2773d3079efe567d42ea9a791c68
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:38:28 2022 +0200

    x86-64: Require BMI2 for AVX2 wcs(n)cmp implementations
    
    The AVX2 wcs(n)cmp implementations use the 'bzhi' instruction, which
    belongs to the BMI2 CPU feature.
    
    NB: It also uses the 'tzcnt' BMI1 instruction, but it is executed as BSF
    as BSF if the CPU doesn't support TZCNT, and produces the same result
    for non-zero input.
    
    Partially fixes: b77b06e0e296 ("x86: Optimize strcmp-avx2.S")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit f31a5a884ed84bd37032729d4d1eb9d06c9f3c29)
    (cherry picked from commit d8bf4388df679fa5a3ae7889a649e573e3124530)

 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 6f1ad1150d23e0cde5aa9a968f78fa2ba94a5de3
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:38:11 2022 +0200

    x86-64: Require BMI2 for AVX2 strncmp implementation
    
    The AVX2 strncmp implementations uses the 'bzhi' instruction, which
    belongs to the BMI2 CPU feature.
    
    NB: It also uses the 'tzcnt' BMI1 instruction, but it is executed as BSF
    as BSF if the CPU doesn't support TZCNT, and produces the same result
    for non-zero input.
    
    Partially fixes: b77b06e0e296 ("x86: Optimize strcmp-avx2.S")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit fc7de1d9b99ae1676bc626ddca422d7abee0eb48)
    (cherry picked from commit 29c577e0f54fe6e70ceacb3659179781c5569903)

 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 7 +++++--
 sysdeps/x86_64/multiarch/strncmp.c         | 4 ++--
 2 files changed, 7 insertions(+), 4 deletions(-)

commit 2d0387a708ea16e5060d937c9e69fda87bd61f88
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:37:52 2022 +0200

    x86-64: Require BMI2 for AVX2 strcmp implementation
    
    The AVX2 strcmp implementation uses the 'bzhi' instruction, which
    belongs to the BMI2 CPU feature.
    
    NB: It also uses the 'tzcnt' BMI1 instruction, but it is executed as BSF
    as BSF if the CPU doesn't support TZCNT, and produces the same result
    for non-zero input.
    
    Partially fixes: b77b06e0e296 ("x86: Optimize strcmp-avx2.S")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit 4d64c6445735e9b34e2ac8e369312cbfc2f88e17)
    (cherry picked from commit 7afbd1e56acb721031bffd876f275dcb1af7e530)

 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 4 +++-
 sysdeps/x86_64/multiarch/strcmp.c          | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 9e42236b38a44a27a1cc566a5ae4e72a355b27ce
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:37:32 2022 +0200

    x86-64: Require BMI2 for AVX2 str(n)casecmp implementations
    
    The AVX2 str(n)casecmp implementations use the 'bzhi' instruction, which
    belongs to the BMI2 CPU feature.
    
    NB: It also uses the 'tzcnt' BMI1 instruction, but it is executed as BSF
    as BSF if the CPU doesn't support TZCNT, and produces the same result
    for non-zero input.
    
    Partially fixes: b77b06e0e296 ("x86: Optimize strcmp-avx2.S")
    Partially resolves: BZ #29611
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit 10f79d3670b036925da63dc532b122d27ce65ff8)
    (cherry picked from commit 46479e5d10ed87825aa277da158d6a687974518b)

 sysdeps/x86_64/multiarch/ifunc-impl-list.c  | 28 ++++++++++++++++++++--------
 sysdeps/x86_64/multiarch/ifunc-strcasecmp.h |  1 +
 2 files changed, 21 insertions(+), 8 deletions(-)

commit a39fdd28860900fd078bd075acc683486b5ad6c9
Author:     Aurelien Jarno <aurelien@aurel32.net>
AuthorDate: Mon Oct 3 23:46:11 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:37:11 2022 +0200

    x86: include BMI1 and BMI2 in x86-64-v3 level
    
    The "System V Application Binary Interface AMD64 Architecture Processor
    Supplement" mandates the BMI1 and BMI2 CPU features for the x86-64-v3
    level.
    
    Reviewed-by: Noah Goldstein  <goldstein.w.n@gmail.com>
    (cherry picked from commit b80f16adbd979831bf25ea491e1261e81885c2b6)
    (cherry picked from commit 18bec23cbb4d530a2a8ce95353770661fabcd55f)

 sysdeps/x86/get-isa-level.h | 2 ++
 1 file changed, 2 insertions(+)

commit a0d93e05d77f25d4291e85d96fbfff89281e56b1
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Tue Sep 20 20:14:14 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 15 19:36:50 2022 +0200

    hppa: undef __ASSUME_SET_ROBUST_LIST
    
    QEMU does not support support set_robust_list. Thus, we need
    to enable detection of set_robust_list system call.
    
    Signed-off-by: John David Anglin <dave.anglin@bell.net>
    (cherry picked from commit cdc496eb55e30f8f2461bedb0a7381c0a7a3d3ae)

 sysdeps/unix/sysv/linux/hppa/kernel-features.h | 3 +++
 1 file changed, 3 insertions(+)

commit 8dbe822fed92a2919d2ab465692574547489c68f (tag: gentoo/glibc-2.36-4)
Author:     John David Anglin <danglin@gcc.gnu.org>
AuthorDate: Sat Oct 1 19:49:25 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:13:33 2022 +0200

    hppa: Fix initialization of dp register [BZ 29635]
    
    After upgrading glibc to Debian 2.35-1, gdb faulted on
    startup and dropped core in a function call in the main
    application.  This was caused by not initializing the
    global dp register for the main application early enough.
    
    Restore the code to initialize dp in _dl_start_user.
    It was removed when code was added to initialize dp in
    elf_machine_runtime_setup.
    
    Signed-off-by: John David Anglin <dave.anglin@bell.net>
    (cherry picked from commit d1d8379bff34f02f86f82db2cef5bf66746d3560)

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

commit 80906956587c27dbd4b62e96efefbcc0ce081a30
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Thu Sep 29 16:15:20 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:13:13 2022 +0200

    stdlib: Fix __getrandom_nocancel type and arc4random usage (BZ #29638)
    
    Using an unsigned type prevents the fallback to be used if kernel
    does not support getrandom syscall.
    
    Checked on x86_64-linux-gnu.
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit 13db9ee2cb3b77e25f852be7d6952882e1be6f00)
    (cherry picked from commit 76e05613ee28f4ac4a0ab97effc32e0e78e37a56)

 NEWS                                 | 1 +
 stdlib/arc4random.c                  | 2 +-
 sysdeps/unix/sysv/linux/not-cancel.h | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit e8ec5460fad7692a3d04a235f842e4bd7eb8d37c
Author:     Jörg Sonnenberger <joerg@bec.de>
AuthorDate: Mon Sep 26 13:59:16 2022 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:12:57 2022 +0200

    get_nscd_addresses: Fix subscript typos [BZ #29605]
    
    Fix the subscript on air->family, which was accidentally set to COUNT
    when it should have remained as I.
    
    Resolves: BZ #29605
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit c9226c03da0276593a0918eaa9a14835183343e8)
    (cherry picked from commit 227c9035872fc9e9e2cf56ec8f89219747ee19bc)

 sysdeps/posix/getaddrinfo.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 5e9f4c6bfd8fd05807cbee766c9407983abd9e7c
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Aug 30 10:33:15 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:12:16 2022 +0200

    m68k: Enforce 4-byte alignment on internal locks (BZ #29537)
    
    A new internal definition, __LIBC_LOCK_ALIGNMENT, is used to force
    the 4-byte alignment only for m68k, other architecture keep the
    natural alignment of the type used internally (and hppa does not
    require 16-byte alignment for kernel-assisted CAS).
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit aeb4d2e9815d459e2640a31f5abb8ef803830107)
    (cherry picked from commit 2628500f5dff1dd99c49a09b418b3b1ea3a6b5d3)

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

commit 7cafce843c1429df756d179da595e360fd85cecf
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 20 12:12:43 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:11:24 2022 +0200

    gconv: Use 64-bit interfaces in gconv_parseconfdir (bug 29583)
    
    It's possible that inode numbers are outside the 32-bit range.
    The existing code only handles the in-libc case correctly, and
    still uses the legacy interfaces when building iconv.
    
    Suggested-by: Helge Deller <deller@gmx.de>
    (cherry picked from commit f97905f24631097af325d6a231093071c3077a5f)
    (cherry picked from commit 52c037f3574eb9062b111d78a4cbeb79681d07d3)

 NEWS                       |  1 +
 iconv/gconv_parseconfdir.h | 16 ++++++++--------
 2 files changed, 9 insertions(+), 8 deletions(-)

commit 98dc31c86ee0f274898de314d9c4e472626bccfa
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 20 11:00:42 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:11:05 2022 +0200

    elf: Implement force_first handling in _dl_sort_maps_dfs (bug 28937)
    
    The implementation in _dl_close_worker requires that the first
    element of l_initfini is always this very map (“We are always the
    zeroth entry, and since we don't include ourselves in the
    dependency analysis start at 1.”).  Rather than fixing that
    assumption, this commit adds an implementation of the force_first
    argument to the new dependency sorting algorithm.  This also means
    that the directly dlopen'ed shared object is always initialized last,
    which is the least surprising behavior in the presence of cycles.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 1df71d32fe5f5905ffd5d100e5e9ca8ad6210891)
    (cherry picked from commit da5f134f6d59701a3a6119309ae91c93c3fa5b51)

 NEWS                     |  1 +
 elf/dl-sort-maps.c       | 32 +++++++++++++++++++++++---------
 elf/dso-sort-tests-1.def |  7 +++++++
 3 files changed, 31 insertions(+), 9 deletions(-)

commit 4954c1f7eeaa558d615af2affa149b180933a4c7
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 6 07:38:10 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:10:44 2022 +0200

    elf: Rename _dl_sort_maps parameter from skip to force_first
    
    The new implementation will not be able to skip an arbitrary number
    of objects.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit dbb75513f5cf9285c77c9e55777c5c35b653f890)
    (cherry picked from commit d1241cf00139733de069c84933cd576dc1a1f45e)

 elf/dl-sort-maps.c         | 14 +++++++-------
 sysdeps/generic/ldsodefs.h |  6 ++++--
 2 files changed, 11 insertions(+), 9 deletions(-)

commit 1faeee74f6b15e942b6a2de63a9f86278e13a854
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 6 07:38:10 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Oct 1 22:10:26 2022 +0200

    scripts/dso-ordering-test.py: Generate program run-time dependencies
    
    The main program needs to depend on all shared objects, even objects
    that have link-time dependencies among shared objects.  Filtering
    out shared objects that already have an link-time dependencies is not
    necessary here; make will do this automatically.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 183d99737298bb3200f0610fdcd1c7549c8ed560)
    (cherry picked from commit 7a3f8c8a7aeb41d4bbfeec07d0be1e92c3019919)

 scripts/dso-ordering-test.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

commit 9ba1e497c561907692870ef29ab9dd84891b777b (tag: gentoo/glibc-2.36-3)
Author:     Javier Pello <devel@otheo.eu>
AuthorDate: Mon Sep 5 20:09:01 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:43:39 2022 +0200

    elf: Fix hwcaps string size overestimation
    
    Commit dad90d528259b669342757c37dedefa8577e2636 added glibc-hwcaps
    support for LD_LIBRARY_PATH and, for this, it adjusted the total
    string size required in _dl_important_hwcaps. However, in doing so
    it inadvertently altered the calculation of the size required for
    the power set strings, as the computation of the power set string
    size depended on the first value assigned to the total variable,
    which is later shifted, resulting in overallocation of string
    space. Fix this now by using a different variable to hold the
    string size required for glibc-hwcaps.
    
    Signed-off-by: Javier Pello <devel@otheo.eu>
    (cherry picked from commit a23820f6052a740246fdc7dcd9c43ce8eed0c45a)
    (cherry picked from commit 4b95b6e8bbb5a2b6856f707bf3bc3308ebef595a)

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

commit 3e0ba5dad5c2f1f4d4a47a099b342eee1c2e608f
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 13 19:57:43 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:43:21 2022 +0200

    elf: Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere
    
    The test is valid for all TLS models, but we want to make a reasonable
    effort to test the GNU2 model specifically.  For example, aarch64
    defaults to GNU2, but does not have -mtls-dialect=gnu2, and the test
    was not run there.
    
    Suggested-by: Martin Coufal <mcoufal@redhat.com>
    (cherry picked from commit dd2315a866a4ac2b838ea1cb10c5ea1c35d51a2f)
    
    Fixes early backport commit 924e4f3eaa502ce82fccf8537f021a796d158771
    ("elf: Call __libc_early_init for reused namespaces (bug 29528)");
    it had a wrong conflict resolution.
    
    (cherry picked from commit df51334828f2af214105aad82042140ee3a6de0a)

 elf/Makefile | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

commit 7f8f038f94a6032105c2ebd8b92461ef894ec3c4
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Sep 13 13:22:27 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:43:04 2022 +0200

    NEWS: Note bug 12154 and bug 29305 as fixed
    
    (cherry picked from commit 5d885617cec5713fdde42177398fe98acb66b7a2)

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

commit 6b595396eaf2e837808d3c5f62bddd5651a2ba3b
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 13:30:03 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:42:49 2022 +0200

    resolv: Fix building tst-resolv-invalid-cname for earlier C standards
    
    This fixes this compiler error:
    
    tst-resolv-invalid-cname.c: In function ‘test_mode_to_string’:
    tst-resolv-invalid-cname.c:164:10: error: label at end of compound statement
         case test_mode_num:
              ^~~~~~~~~~~~~
    
    Fixes commit 9caf782276ecea4bc86fc94fbb52779736f3106d
    ("resolv: Add new tst-resolv-invalid-cname").
    
    (cherry picked from commit d09aa4a17229bcaa2ec7642006b12612498582e7)
    (cherry picked from commit a7fa604f3050a1024dc8ec28ff28bad811f6151f)

 resolv/tst-resolv-invalid-cname.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4c3f3fe094fb955e28a615e33afa8eceb6a4e996
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:42:33 2022 +0200

    nss_dns: Rewrite _nss_dns_gethostbyname4_r using current interfaces
    
    Introduce struct alloc_buffer to this function, and use it and
    struct ns_rr_cursor in gaih_getanswer_slice.  Adjust gaih_getanswer
    and gaih_getanswer_noaaaa accordingly.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 1d495912a746e2a1ffb780c9a81fd234ec2464e8)
    (cherry picked from commit c5cdb39c20e96d9ac0d46fc7284b8276a537fd35)

 resolv/nss_dns/dns-host.c | 443 +++++++++++++++++-----------------------------
 1 file changed, 162 insertions(+), 281 deletions(-)

commit 70ab530ba9146466cb6347f22234876b11576c43
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:42:16 2022 +0200

    resolv: Add new tst-resolv-invalid-cname
    
    This test checks resolution through CNAME chains that do not contain
    host names (bug 12154).
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 9caf782276ecea4bc86fc94fbb52779736f3106d)
    (cherry picked from commit e2ec6a8db38a6b734bbdb41e498fdc9460f7566a)

 resolv/Makefile                   |   3 +
 resolv/tst-resolv-invalid-cname.c | 406 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 409 insertions(+)

commit 169dfe107a8474c914f7c66068b68738e184230c
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:41:56 2022 +0200

    nss_dns: In gaih_getanswer_slice, skip strange aliases (bug 12154)
    
    If the name is not a host name, skip adding it to the result, instead
    of reporting query failure.  This fixes bug 12154 for getaddrinfo.
    
    This commit still keeps the old parsing code, and only adjusts when
    a host name is copied.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 32b599ac8c21c4c332cc3900a792a1395bca79c7)
    (cherry picked from commit 7a236dc44a22dc4252e803d1ee1d3b970ec43805)

 resolv/nss_dns/dns-host.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 3d2acb45ae96d2b1cb221b8326c081e4f154bb6a
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:41:36 2022 +0200

    nss_dns: Rewrite getanswer_r to match getanswer_ptr (bug 12154, bug 29305)
    
    Allocate the pointer arrays only at the end, when their sizes
    are known.  This addresses bug 29305.
    
    Skip over invalid names instead of failing lookups.  This partially
    fixes bug 12154 (for gethostbyname, fixing getaddrinfo requires
    different changes).
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit d101d836e7e4bd1d4e4972b0e0bd0a55c9b650fa)
    (cherry picked from commit 78c8ef21fa54e994451d5b42ead6080d99a88a49)

 resolv/nss_dns/dns-host.c | 478 +++++++++++++++++-----------------------------
 1 file changed, 180 insertions(+), 298 deletions(-)

commit b91554702c0cc0ba14192e47365177c39b27a180
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:41:20 2022 +0200

    nss_dns: Remove remnants of IPv6 address mapping
    
    res_use_inet6 always returns false since commit 3f8b44be0a658266adff5
    ("resolv: Remove support for RES_USE_INET6 and the inet6 option").
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit a7fc30b522a0cd7c8c5e7e285b9531b704e02f04)
    (cherry picked from commit 5165080fec63a1f03aa1985b77bca300465bf570)

 resolv/README             |  3 --
 resolv/mapv4v6addr.h      | 69 --------------------------------------
 resolv/mapv4v6hostent.h   | 84 -----------------------------------------------
 resolv/nss_dns/dns-host.c | 54 +++++-------------------------
 4 files changed, 9 insertions(+), 201 deletions(-)

commit 2067c92a6f634e6e67c3e8df77c11433ac3f84c3
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:40:56 2022 +0200

    nss_dns: Rewrite _nss_dns_gethostbyaddr2_r and getanswer_ptr
    
    The simplification takes advantage of the split from getanswer_r.
    It fixes various aliases issues, and optimizes NSS buffer usage.
    The new DNS packet parsing helpers are used, too.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit e32547d661a43da63368e488b6cfa9c53b4dcf92)
    (cherry picked from commit 77f523c473878ec0051582ef15161c6982879095)

 resolv/nss_dns/dns-host.c | 405 ++++++++++++----------------------------------
 1 file changed, 102 insertions(+), 303 deletions(-)

commit 472edf14b6bbfac43b89bb8760513fe934d95664
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:40:39 2022 +0200

    nss_dns: Split getanswer_ptr from getanswer_r
    
    And expand the use of name_ok and qtype in getanswer_ptr (the
    former also in getanswer_r).
    
    After further cleanups, not much code will be shared between the
    two functions.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 0dcc43e9981005540bf39dc7bf33fbab62cf9e84)
    (cherry picked from commit b714ab7e3ce999b79401cdd22291128a7fd6d8ef)

 resolv/nss_dns/dns-host.c | 320 ++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 268 insertions(+), 52 deletions(-)

commit 4db25b51f1991ce46255a9d938c1dc199b3aa36f
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:40:21 2022 +0200

    resolv: Add DNS packet parsing helpers geared towards wire format
    
    The public parser functions around the ns_rr record type produce
    textual domain names, but usually, this is not what we need while
    parsing DNS packets within glibc.  This commit adds two new helper
    functions, __ns_rr_cursor_init and __ns_rr_cursor_next, for writing
    packet parsers, and struct ns_rr_cursor, struct ns_rr_wire as
    supporting types.
    
    In theory, it is possible to avoid copying the owner name
    into the rname field in __ns_rr_cursor_next, but this would need
    more functions that work on compressed names.
    
    Eventually, __res_context_send could be enhanced to preserve the
    result of the packet parsing that is necessary for matching the
    incoming UDP packets, so that this works does not have to be done
    twice.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 857c890d9b42c50c8a94b76d47d4a61ab6d2f49c)
    (cherry picked from commit f0e9657067240b8b105c6d58d5da9dc926f2f0ed)

 include/arpa/nameser.h     |  92 ++++++++++++++++++
 resolv/Makefile            |   6 ++
 resolv/ns_rr_cursor_init.c |  62 +++++++++++++
 resolv/ns_rr_cursor_next.c |  74 +++++++++++++++
 resolv/tst-ns_rr_cursor.c  | 227 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 461 insertions(+)

commit 53aa8556eb554133c25d87652fe4523d03c7fecc
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:40:01 2022 +0200

    resolv: Add internal __ns_name_length_uncompressed function
    
    This function is useful for checking that the question name is
    uncompressed (as it should be).
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 78b1a4f0e49064e5dfb686c7cd87bd4df2640b29)
    (cherry picked from commit adb69f8ffe83db5d475868b42996bc70de8cff77)

 include/arpa/nameser.h                   |   8 ++
 resolv/Makefile                          |   5 ++
 resolv/ns_name_length_uncompressed.c     |  72 +++++++++++++++++
 resolv/tst-ns_name_length_uncompressed.c | 135 +++++++++++++++++++++++++++++++
 4 files changed, 220 insertions(+)

commit 4b180affe9d1da7bc50de52e17a9c554e7a769d9
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:39:43 2022 +0200

    resolv: Add the __ns_samebinaryname function
    
    During packet parsing, only the binary name is available.  If the name
    equality check is performed before conversion to text, we can sometimes
    skip the last step.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 394085a34d25a51513019a4dc411acd3527fbd33)
    (cherry picked from commit 20ec40a51d3a8e9487f40dc9352d158def23ea8c)

 include/arpa/nameser.h         |  6 ++++
 resolv/Makefile                |  5 ++++
 resolv/ns_samebinaryname.c     | 55 +++++++++++++++++++++++++++++++++++++
 resolv/tst-ns_samebinaryname.c | 62 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 128 insertions(+)

commit 0fcd80e12685cf174a16d6ba73ffd62712f46d9a
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:39:26 2022 +0200

    resolv: Add internal __res_binary_hnok function
    
    During package parsing, only the binary representation is available,
    and it is convenient to check that directly for conformance with host
    name requirements.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit c79327bf00a4be6d60259227acc78ef80ead3622)
    (cherry picked from commit 3c9b4004e2dccc9ca2ace078a0106f9d682fd1a0)

 include/resolv.h           |  3 +++
 resolv/res-name-checking.c | 14 +++++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

commit 9b019565654d6c4c1202f10f8bd3af2617846d67
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:39:09 2022 +0200

    resolv: Add tst-resolv-aliases
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 87aa98aa80627553a66bdcad2701fd6307723645)
    (cherry picked from commit bffc33e90ed57a4786c676dda92d935e3613e031)

 resolv/Makefile             |   2 +
 resolv/tst-resolv-aliases.c | 254 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 256 insertions(+)

commit 7acdcd7397d3489c8c1d44b9dc7d165e5578493a
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 30 10:02:49 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:38:52 2022 +0200

    resolv: Add tst-resolv-byaddr for testing reverse lookup
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 0b99828d54e5d1fc8f5ad3edf5ba262ad2e9c5b0)
    (cherry picked from commit 9d7eebde8f134ea25bdb9ab61bc74d5e71e41288)

 resolv/Makefile                      |   2 +
 resolv/tst-resolv-byaddr.c           | 326 +++++++++++++++++++++++++++++++++++
 resolv/tst-resolv-maybe_insert_sig.h |  32 ++++
 3 files changed, 360 insertions(+)

commit e29fe5e586ac74488df5345e22d4193856da4b15
Author:     Fabian Vogt <fvogt@suse.de>
AuthorDate: Wed Jul 27 11:44:07 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:38:33 2022 +0200

    nscd: Fix netlink cache invalidation if epoll is used [BZ #29415]
    
    Processes cache network interface information such as whether IPv4 or IPv6
    are enabled. This is only checked again if the "netlink timestamp" provided
    by nscd changed, which is triggered by netlink socket activity.
    
    However, in the epoll handler for the netlink socket, it was missed to
    assign the new timestamp to the nscd database. The handler for plain poll
    did that properly, copy that over.
    
    This bug caused that e.g. processes which started before network
    configuration got unusuable addresses from getaddrinfo, like IPv6 only even
    though only IPv4 is available:
    https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1041
    
    It's a bit hard to reproduce, so I verified this by checking the timestamp
    on calls to __check_pf manually. Without this patch it's stuck at 1, now
    it's increasing on network changes as expected.
    
    Signed-off-by: Fabian Vogt <fvogt@suse.de>
    (cherry picked from commit 02ca25fef2785974011e9c5beecc99b900b69fd7)
    (cherry picked from commit c399271c10bd00714504e8d4dfbec8aebf996dd4)

 NEWS               | 1 +
 nscd/connections.c | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

commit fdd19dc6e524b719ff971c630f7847f10f1fcc4f
Author:     Siddhesh Poyarekar <siddhesh@sourceware.org>
AuthorDate: Tue Sep 6 09:31:50 2022 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:38:12 2022 +0200

    Add NEWS entry for CVE-2022-39046
    
    (cherry picked from commit 76fe56020e7ef354685b2284580ac1630c078a2b)
    (cherry picked from commit b46412fb17e8bfc6c9e1f144bbcf833320c80f8a)

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

commit ff485a00a4fcde0fa6fd6c7bc73bec1a31e28a65
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Mon Sep 5 09:34:39 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:37:56 2022 +0200

    syslog: Remove extra whitespace between timestamp and message (BZ#29544)
    
    The rfc3164 clear states that a single space character must follow
    the timestamp field.
    
    Checked on x86_64-linux-gnu.
    
    (cherry picked from commit 645d94808aaa90fb1b20a25ff70bb50d9eb1d55b)

 misc/syslog.c     | 2 +-
 misc/tst-syslog.c | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

commit 3230ddf68554efe995782844cea5d7477a89c6be
Author:     Sergei Trofimovich <slyich@gmail.com>
AuthorDate: Tue Sep 13 13:39:13 2022 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Sep 19 23:34:43 2022 +0200

    Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 [BZ# 29564]
    
    make-4.4 will add long flags to MAKEFLAGS variable:
    
        * WARNING: Backward-incompatibility!
          Previously only simple (one-letter) options were added to the MAKEFLAGS
          variable that was visible while parsing makefiles.  Now, all options
          are available in MAKEFLAGS.
    
    This causes locale builds to fail when long options are used:
    
        $ make --shuffle
        ...
        make  -C localedata install-locales
        make: invalid shuffle mode: '1662724426r'
    
    The change fixes it by passing eash option via whitespace and dashes.
    That way option is appended to both single-word form and whitespace
    separated form.
    
    While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering
    out --long-options. Otherwise options like --shuffle flag enable silent
    mode unintentionally. $(silent-make) variable consolidates the checks.
    
    Resolves: BZ# 29564
    
    CC: Paul Smith <psmith@gnu.org>
    CC: Siddhesh Poyarekar <siddhesh@gotplt.org>
    Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 2d7ed98add14f75041499ac189696c9bd3d757fe)

 Makeconfig     | 18 +++++++++++++++++-
 Makerules      |  4 ++--
 elf/rtld-Rules |  2 +-
 3 files changed, 20 insertions(+), 4 deletions(-)

commit 0bb14cf99f593431f725654e4d589db7f77cee16
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Mon Sep 5 14:10:43 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Sep 9 22:33:51 2022 +0200

    m68k: Enforce 4-byte alignment on internal locks (BZ #29537)
    
    A new internal definition, __LIBC_LOCK_ALIGNMENT, is used to force
    the 4-byte alignment only for m68k, other architecture keep the
    natural alignment of the type used internally (and hppa does not
    require 16-byte alignment for kernel-assisted CAS).
    
    (cherry picked from commit 2ae75f3f15a2297c2f8924ad7eb492fd17ecae8c)

 sysdeps/generic/libc-lock-arch.h              | 25 +++++++++++++++++++++++++
 sysdeps/nptl/libc-lock.h                      |  8 +++++++-
 sysdeps/nptl/libc-lockP.h                     |  3 ++-
 sysdeps/unix/sysv/linux/m68k/libc-lock-arch.h | 25 +++++++++++++++++++++++++
 4 files changed, 59 insertions(+), 2 deletions(-)

commit b1725b11c877c95e043a8a6c350ac0b024611a06
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Aug 30 13:35:52 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Sep 3 22:09:51 2022 +0200

    elf: Restore how vDSO dependency is printed with LD_TRACE_LOADED_OBJECTS (BZ #29539)
    
    The d7703d3176d225d5743b21811d888619eba39e82 changed how vDSO like
    dependencies are printed, instead of just the name and address it
    follows other libraries mode and prints 'name => path'.
    
    Unfortunately, this broke some ldd consumer that uses the output to
    filter out the program's dependencies.  For instance CMake
    bundleutilities module [1], where GetPrequirite uses the regex to filter
    out 'name => path' [2].
    
    This patch restore the previous way to print just the name and the
    mapping address.
    
    Checked on x86_64-linux-gnu.
    
    [1] https://github.com/Kitware/CMake/tree/master/Tests/BundleUtilities
    [2] https://github.com/Kitware/CMake/blob/master/Modules/GetPrerequisites.cmake#L733
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 1e903124cec4492463d075c6c061a2a772db77bf)
    (cherry picked from commit b3736d1a3c60a3ec9959bf3b38794958546bf6a2)

 NEWS       | 2 +-
 elf/rtld.c | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

commit 494222c38d48309b2bf60a84cc97514b483d2879
Author:     Raphael Moreira Zinsly <rzinsly@linux.ibm.com>
AuthorDate: Wed Aug 24 11:43:37 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Sep 3 22:09:31 2022 +0200

    Apply asm redirections in wchar.h before first use
    
    Similar to d0fa09a770, but for wchar.h.  Fixes [BZ #27087] by applying
    all long double related asm redirections before using functions in
    bits/wchar2.h.
    Moves the function declarations from wcsmbs/bits/wchar2.h to a new file
    wcsmbs/bits/wchar2-decl.h that will be included first in wcsmbs/wchar.h.
    
    Tested with build-many-glibcs.py.
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    
    (cherry picked from commit c7509d49c4e8fa494120c5ead21338559dad16f5)
    (cherry picked from commit 3c791f2031ca8f6b99e96b774ed1c505ceb93595)

 include/bits/wchar2-decl.h |   1 +
 wcsmbs/Makefile            |   5 +-
 wcsmbs/bits/wchar2-decl.h  | 124 +++++++++++++++++++++++++++++++++++++++++++++
 wcsmbs/bits/wchar2.h       |  72 --------------------------
 wcsmbs/wchar.h             |  11 +++-
 5 files changed, 137 insertions(+), 76 deletions(-)

commit d1ab9eb7323d2e1d9553d3cb7d60b05dc93cfdd0
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Aug 26 21:15:43 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Sep 3 22:09:10 2022 +0200

    elf: Call __libc_early_init for reused namespaces (bug 29528)
    
    libc_map is never reset to NULL, neither during dlclose nor on a
    dlopen call which reuses the namespace structure.  As a result, if a
    namespace is reused, its libc is not initialized properly.  The most
    visible result is a crash in the <ctype.h> functions.
    
    To prevent similar bugs on namespace reuse from surfacing,
    unconditionally initialize the chosen namespace to zero using memset.
    
    (cherry picked from commit d0e357ff45a75553dee3b17ed7d303bfa544f6fe)
    (cherry picked from commit 924e4f3eaa502ce82fccf8537f021a796d158771)

 NEWS                         |  1 +
 elf/Makefile                 | 25 ++++++++++++++++++++++
 elf/dl-open.c                | 13 +++++++-----
 elf/tst-dlmopen-twice-mod1.c | 37 ++++++++++++++++++++++++++++++++
 elf/tst-dlmopen-twice-mod2.c | 50 ++++++++++++++++++++++++++++++++++++++++++++
 elf/tst-dlmopen-twice.c      | 34 ++++++++++++++++++++++++++++++
 6 files changed, 155 insertions(+), 5 deletions(-)

commit b9fce72b476e7febed5a75f8381a7bd3465e1dac
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Sun Aug 28 16:52:53 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Sep 3 22:08:45 2022 +0200

    syslog: Fix large messages (BZ#29536)
    
    The a583b6add407c17cd change did not handle large messages that
    would require a heap allocation correctly, where the message itself
    is not take in consideration.
    
    This patch fixes it and extend the tst-syslog to check for large
    messages as well.
    
    Checked on x86_64-linux-gnu.
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
    (cherry picked from commit 52a5be0df411ef3ff45c10c7c308cb92993d15b1)
    (cherry picked from commit b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9)

 misc/syslog.c     |  18 ++++---
 misc/tst-syslog.c | 152 ++++++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 142 insertions(+), 28 deletions(-)

commit b0582297a5ec17e66c50e8cda2df2b7eb418283f (tag: gentoo/glibc-2.36-2)
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Tue Aug 16 09:25:23 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:05:51 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>
AuthorDate: Wed Aug 10 14:24:47 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:05:25 2022 +0200

    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>
AuthorDate: Wed Aug 10 14:24:46 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:05:05 2022 +0200

    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>
AuthorDate: Wed Aug 10 14:24:45 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:04:51 2022 +0200

    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>
AuthorDate: Wed Aug 10 14:24:44 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:04:34 2022 +0200

    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>
AuthorDate: Wed Aug 10 16:24:06 2022 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:04:19 2022 +0200

    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>
AuthorDate: Mon Aug 22 18:21:14 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:04:01 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>
AuthorDate: Tue Aug 2 11:10:25 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:03:38 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>
AuthorDate: Mon Aug 22 11:04:47 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:03:16 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>
AuthorDate: Mon Aug 15 16:43:59 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:02:48 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>
AuthorDate: Mon Aug 8 11:26:22 2022 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:02:27 2022 +0200

    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>
AuthorDate: Tue Aug 2 21:05:07 2022 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:02:09 2022 +0200

    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>
AuthorDate: Thu Aug 4 17:54:48 2022 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 27 20:01:49 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)
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: Tue Aug 2 22:19:34 2022 +0200

    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>
AuthorDate: Tue Oct 20 16:00:43 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:15:00 2022 +0200

    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>
AuthorDate: Tue Apr 14 11:14:22 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:57 2022 +0200

    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>
AuthorDate: Mon Apr 13 08:35:40 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:54 2022 +0200

    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>
AuthorDate: Mon Apr 13 18:09:20 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:51 2022 +0200

    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>
AuthorDate: Tue Oct 20 13:37:15 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:48 2022 +0200

    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>
AuthorDate: Tue Oct 20 12:18:56 2020 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:45 2022 +0200

    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>
AuthorDate: Sat Jul 11 20:06:51 2020 +0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:42 2022 +0200

    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>
AuthorDate: Fri Dec 14 20:43:04 2018 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:39 2022 +0200

    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>
AuthorDate: Mon Oct 22 22:34:13 2018 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:36 2022 +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>
AuthorDate: Tue Aug 3 00:34:59 2021 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Tue Aug 2 22:14:33 2022 +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>
AuthorDate: Fri Jul 29 10:50:56 2022 -0700
Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
CommitDate: Mon Aug 1 10:02:06 2022 -0300

    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>
AuthorDate: Sun Jul 24 01:11:43 2022 -0400
Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
CommitDate: Mon Aug 1 10:02:00 2022 -0300

    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(+)
