commit 30f2b5840072334fcfa1400dd0b64fd3b5cffff3 (HEAD -> gentoo/2.42)
Author:     Carlos O'Donell <carlos@redhat.com>
AuthorDate: Fri Mar 20 16:43:33 2026 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Mar 27 17:34:34 2026 +0100

    resolv: Count records correctly (CVE-2026-4437)
    
    The answer section boundary was previously ignored, and the code in
    getanswer_ptr would iterate past the last resource record, but not
    beyond the end of the returned data.  This could lead to subsequent data
    being interpreted as answer records, thus violating the DNS
    specification.  Such resource records could be maliciously crafted and
    hidden from other tooling, but processed by the glibc stub resolver and
    acted upon by the application.  While we trust the data returned by the
    configured recursive resolvers, we should not trust its format and
    should validate it as required.  It is a security issue to incorrectly
    process the DNS protocol.
    
    A regression test is added for response section crossing.
    
    No regressions on x86_64-linux-gnu.
    
    Reviewed-by: Collin Funk <collin.funk1@gmail.com>
    (cherry picked from commit 9f5f18aab40ec6b61fa49a007615e6077e9a979b)
    (cherry picked from commit 8e863fb1c92360520704a69dc948be6bb4a17cb3)

 resolv/Makefile                 |   4 +
 resolv/nss_dns/dns-host.c       |   2 +-
 resolv/tst-resolv-dns-section.c | 162 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 167 insertions(+), 1 deletion(-)

commit cbc8b9ea47d877892b4be3122cd32b4bbe5ac054
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Mon Jan 26 17:12:37 2026 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Mar 27 17:34:17 2026 +0100

    posix: Run tst-wordexp-reuse-mem test
    
    The test was not properly scheduled for execution with a Makefile
    dependency.
    
    Fixes commit 80cc58ea2de214f85b0a1d902a3b668ad2ecb302 ("posix: Reset
    wordexp_t fields with WRDE_REUSE (CVE-2025-15281 / BZ 33814").
    
    (cherry picked from commit bed2db02f3183e93f21d506786c5f884a1dec9e7)
    (cherry picked from commit 1a19d5a507eb82a2cf1cf8bd1c14ca1758fb8a82)

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

commit e850449347b987b0e03a1b3b524a8cb45d4bd3eb
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Nov 28 11:46:09 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Mar 27 17:34:00 2026 +0100

    iconvdata: Fix invalid pointer arithmetic in ANSI_X3.110 module
    
    The expression inptr + 1 can technically be invalid: if inptr == inend,
    inptr may point one element past the end of an array.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit e98bd0c54d5e296ad1be91b6fe35260c6b87e733)
    (cherry picked from commit 9cd9c9054409d192aab06bfea32624af9ffa8121)

 iconvdata/ansi_x3.110.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8cfd45d4119e2cd36ca3c1b149e12777a198031e (gentoo/gentoo/2.42)
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Sun Mar 22 22:24:12 2026 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Mar 22 22:24:12 2026 +0100

    Add -lmachuser -lhurduser to libc.so on GNU/Hurd.
    
    http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html
    
    2011-03-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>
    
            * Makerules ($(inst_libdir)/libc.so): Add -lmachuser -lhurduser to
            libc.so on GNU/Hurd.
    
    It's still unclear what we want to aim for.

 Makerules | 3 +++
 1 file changed, 3 insertions(+)

commit 4bde107626e1ee84ca78d28aef0087fcaacece55
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Feb 13 09:02:07 2026 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 23 15:57:57 2026 +0100

    nss: Missing checks in __nss_configure_lookup, __nss_database_get (bug 28940)
    
    This avoids a null pointer dereference in the
    nss_database_check_reload_and_get function, and assertion failures.
    
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit 5b713b49443eb6a4e54e50e2f0147105f86dab02)
    (cherry picked from commit ebd45473f5421e0fced5ba2cde0f1aaa36e79b61)

 nss/Makefile                            |   1 +
 nss/nss_database.c                      |   7 +-
 nss/tst-nss-malloc-failure-getlogin_r.c | 345 ++++++++++++++++++++++++++++++++
 3 files changed, 352 insertions(+), 1 deletion(-)

commit 9fbd308954b42f20469cd217738d3ac0ed021b06
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Feb 13 09:02:07 2026 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 23 15:57:43 2026 +0100

    Linux: In getlogin_r, use utmp fallback only for specific errors
    
    Most importantly, if getwpuid_r fails, it does not make sense to retry
    via utmp because the user ID obtained from there is less reliable than
    the one from /proc/self/loginuid.
    
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit 28660f4b45afa8921c2faebaec2846f95f670ba0)
    (cherry picked from commit 937ef7aaf3ce41038b3e12675a6298b86b389af2)

 sysdeps/unix/sysv/linux/getlogin_r.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

commit a5b462b1ff18596540ea2dc3f18e27e675950b69
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Feb 13 09:02:07 2026 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 23 15:57:28 2026 +0100

    nss: Introduce dedicated struct nss_database_for_fork type
    
    The initialized field in struct nss_database_data is rather confusing
    because it is not used by the regular NSS code, only by the fork
    state synchronization code.  Introduce a separate type and place
    the initialized field there.
    
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit 7bb859f4198d0be19c31a9937eae4f6c2c9a079e)
    (cherry picked from commit 39897805917ab1c44dbf4452b9c4c2bbafc7117b)

 nss/nss_database.c | 14 +++++++-------
 nss/nss_database.h | 12 +++++++++---
 posix/fork.c       |  2 +-
 3 files changed, 17 insertions(+), 11 deletions(-)

commit 77bff0378fa9b8fb3d915b792ac7177336bbb360
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Thu Jan 8 12:35:08 2026 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 23 15:57:11 2026 +0100

    Switch currency symbol for the bg_BG locale to euro
    
    Bulgaria joined the eurozone on 2026-01-01.
    
    Suggested-by: Йордан Гигов <jgigov@abv.bg>
    Reviewed-by: Collin Funk <collin.funk1@gmail.com>
    (cherry picked from commit 78fdb2d6b1c34ea8e779fd48f9436dfbd50b6387)
    (cherry picked from commit 912d89a766847649a3857985a3b5e6065c51bfd4)

 localedata/locales/bg_BG | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f1ad6431f9e22ab8696c8f37c8b2880942fe7b88 (tag: gentoo/glibc-2.42-7)
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Thu Jan 15 10:32:19 2026 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 24 12:35:39 2026 +0100

    posix: Reset wordexp_t fields with WRDE_REUSE (CVE-2025-15281 / BZ 33814)
    
    The wordexp fails to properly initialize the input wordexp_t when
    WRDE_REUSE is used. The wordexp_t struct is properly freed, but
    reuses the old wc_wordc value and updates the we_wordv in the
    wrong position.  A later wordfree will then call free with an
    invalid pointer.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 80cc58ea2de214f85b0a1d902a3b668ad2ecb302)
    (cherry picked from commit cbf39c26b25801e9bc88499b4fd361ac172d4125)

 NEWS                      |  2 ++
 posix/Makefile            | 11 ++++++
 posix/tst-wordexp-reuse.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++
 posix/wordexp.c           |  2 ++
 4 files changed, 104 insertions(+)

commit b97e8d478d74036eeeccdfe1fa4f745986cfda78 (tag: gentoo/glibc-2.42-6)
Author:     Carlos O'Donell <carlos@redhat.com>
AuthorDate: Thu Jan 15 15:09:38 2026 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:46:03 2026 +0100

    resolv: Fix NSS DNS backend for getnetbyaddr (CVE-2026-0915)
    
    The default network value of zero for net was never tested for and
    results in a DNS query constructed from uninitialized stack bytes.
    The solution is to provide a default query for the case where net
    is zero.
    
    Adding a test case for this was straight forward given the existence of
    tst-resolv-network and if the test is added without the fix you observe
    this failure:
    
    FAIL: resolv/tst-resolv-network
    original exit status 1
    error: tst-resolv-network.c:174: invalid QNAME: \146\218\129\128
    error: 1 test failures
    
    With a random QNAME resulting from the use of uninitialized stack bytes.
    
    After the fix the test passes.
    
    Additionally verified using wireshark before and after to ensure
    on-the-wire bytes for the DNS query were as expected.
    
    No regressions on x86_64.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit e56ff82d5034ec66c6a78f517af6faa427f65b0b)
    (cherry picked from commit 453e6b8dbab935257eb0802b0c97bca6b67ba30e)

 resolv/nss_dns/dns-network.c | 4 ++++
 resolv/tst-resolv-network.c  | 6 ++++++
 2 files changed, 10 insertions(+)

commit f91d323d96594a144f706bd434ccd9ed381f6505
Author:     Siddhesh Poyarekar <siddhesh@gotplt.org>
AuthorDate: Thu Jan 15 06:06:40 2026 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:45:34 2026 +0100

    memalign: reinstate alignment overflow check (CVE-2026-0861)
    
    The change to cap valid sizes to PTRDIFF_MAX inadvertently dropped the
    overflow check for alignment in memalign functions, _mid_memalign and
    _int_memalign.  Reinstate the overflow check in _int_memalign, aligned
    with the PTRDIFF_MAX change since that is directly responsible for the
    CVE.  The missing _mid_memalign check is not relevant (and does not have
    a security impact) and may need a different approach to fully resolve,
    so it has been omitted.
    
    CVE-Id: CVE-2026-0861
    Vulnerable-Commit: 9bf8e29ca136094f73f69f725f15c51facc97206
    Reported-by: Igor Morgenstern, Aisle Research
    Fixes: BZ #33796
    Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
    Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
    (cherry picked from commit c9188d333717d3ceb7e3020011651f424f749f93)
    (cherry picked from commit b0ec8fb689df862171f0f78994a3bdeb51313545)

 malloc/malloc.c               |  7 +++++--
 malloc/tst-malloc-too-large.c | 10 ++--------
 2 files changed, 7 insertions(+), 10 deletions(-)

commit deb6ee656568501f9f9d6af09697932f14c83e79
Author:     Sunil K Pandey <sunil.k.pandey@intel.com>
AuthorDate: Tue Dec 9 08:57:44 2025 -0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:45:11 2026 +0100

    nptl: Optimize trylock for high cache contention workloads (BZ #33704)
    
    Check lock availability before acquisition to reduce cache line
    bouncing.  Significantly improves trylock throughput on multi-core
    systems under heavy contention.
    
    Tested on x86_64.
    
    Fixes BZ #33704.
    
    Co-authored-by: Alex M Wells <alex.m.wells@intel.com>
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit 63716823dbad9482e09972907ae98e9cb00f9b86)
    (cherry picked from commit f122d0b4d145814869bf10c56db1d971bcba55c5)

 nptl/pthread_mutex_trylock.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 25b6617f2b229e0acfe439e0bdcc6f9b0ee60c35
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Thu Nov 6 14:49:21 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:44:53 2026 +0100

    support: Exit on consistency check failure in resolv_response_add_name
    
    Using TEST_VERIFY (crname_target != crname) instructs some analysis
    tools that crname_target == crname might hold.  Under this assumption,
    they report a use-after-free for crname_target->offset below, caused
    by the previous free (crname).
    
    Reviewed-by: Collin Funk <collin.funk1@gmail.com>
    (cherry picked from commit b64335ff111c071fde61aec1c1a8460afb3d16d4)
    (cherry picked from commit a1d3294a5bed821aece03994ab4e72c8b822a962)

 support/resolv_test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit be69d863259095ec70f0540345075164cf032231
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Thu Nov 6 14:33:22 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:44:34 2026 +0100

    support: Fix FILE * leak in check_for_unshare_hints in test-container
    
    The file opened via fopen is never closed.
    
    (cherry picked from commit 20a2a756089eacd7e7f4c02e381e82b5d0e40a2c)
    (cherry picked from commit 8dfb84ad4efbc39c7a7d9efdff6f6ac9017e0a53)

 support/test-container.c | 1 +
 1 file changed, 1 insertion(+)

commit ef5cdb7b23de56c47b30ac7e1595dee20bb5c087
Author:     Collin Funk <collin.funk1@gmail.com>
AuthorDate: Wed Oct 22 01:51:09 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:44:18 2026 +0100

    sprof: fix -Wformat warnings on 32-bit hosts
    
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 9681f645ba20fc3c18eb12ffebf94e3df1f888e3)
    (cherry picked from commit 2a0873aa81446149c6065237e1dc2511201bef88)

 elf/sprof.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c7870f001370e290a48b6270a84a2eb81c102c84
Author:     DJ Delorie <dj@redhat.com>
AuthorDate: Wed Oct 15 21:37:56 2025 -0400
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Jan 17 17:44:02 2026 +0100

    sprof: check pread size and offset for overflow
    
    Add a bit of descriptive paranoia to the values we read from
    the ELF headers and use to access data.
    
    Reviewed-by: Collin Funk <collin.funk1@gmail.com>
    (cherry picked from commit 324084649b2da2f6840e3a1b84159a4e9a9e9a74)
    (cherry picked from commit efdf4c0c879590109778244046f84a80a4bf8fee)

 elf/sprof.c | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

commit b1e742ce230f8c5930e0db25a40f93346ecc952a (tag: gentoo/glibc-2.42-5)
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Mon Dec 1 23:53:13 2025 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:26:57 2025 +0100

    Reapply "sparc: Fix argument passing to __libc_start_main on SPARC32"
    
    This reverts commit ccfae86ddd5b5a301281350a249e6dc413f1ef20.
    
    (cherry picked from commit 47513ef5fa0bf285ecc6ef1d01acda368ff42247)

 sysdeps/sparc/sparc32/start.S                      |  6 ++---
 sysdeps/unix/sysv/linux/sparc/sparc32/libc-start.c | 30 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 4 deletions(-)

commit 3840c206992f42a0615897d602e6974b564ac863
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Mon Dec 1 23:53:01 2025 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:26:43 2025 +0100

    Revert "sparc: Fix sparc32 Fix argument passing to __libc_start_main (BZ 32981)"
    
    This reverts commit 8b37c99ef19c79b2bfe84be3b5a4348ef09b0d76.
    
    (cherry picked from commit 1edc76ee1fb1e9d9a300bd0439580de91bea92e8)

 sysdeps/sparc/sparc32/start.S | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 64a2b2391de24ea3de35772a863b64e423e6d46c
Author:     Yury Khrustalev <yury.khrustalev@arm.com>
AuthorDate: Thu Nov 6 12:57:58 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:25:15 2025 +0100

    posix: Fix invalid flags test for p{write,read}v2
    
    Two tests fail from time to time when a new flag is added for the
    p{write,read}v2 functions in a new Linux kernel:
    
     - misc/tst-preadvwritev2
     - misc/tst-preadvwritev64v2
    
    This disrupts when testing Glibc on a system with a newer kernel
    and it seems we can try improve testing for invalid flags setting
    all the bits that are not supposed to be supported (rather than
    setting only the next unsupported bit).
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 58a31b4316f1f687184eb147ffa1c676bc6a190e)
    (cherry picked from commit b11411fe2ee7a8f3c3a2c1ee99c1729adb9a0efe)

 misc/tst-preadvwritev2-common.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 196ea331e6ca1cae608b131752a176cb1cdafed4
Author:     Sachin Monga <smonga@linux.ibm.com>
AuthorDate: Thu Nov 27 03:28:17 2025 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:24:57 2025 +0100

    ppc64le: Power 10 rawmemchr clobbers v20 (bug #33091)
    
    Replace non-volatile(v20) by volatile(v17)
    since v20 is not restored
    
    Reviewed-by: Peter Bergner <bergner@tenstorrent.com>
    (cherry picked from commit b59799f14f97f697c3a36b4380bd4ce2fbe65f11)
    (cherry picked from commit 8aaf4b732d7650c2db3beb4dc8bb70eab5b022c3)

 sysdeps/powerpc/powerpc64/le/power10/strlen.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c0725f0da14e590e480babe6df9ebfb2cbfafda6
Author:     Sachin Monga <smonga@linux.ibm.com>
AuthorDate: Fri Nov 21 00:30:52 2025 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:24:39 2025 +0100

    ppc64le: Restore optimized strncmp for power10
    
    This patch addresses the actual cause of CVE-2025-5745
    
    The vector non-volatile registers are not used anymore for
    32 byte load and comparison operation
    
    Additionally, the assembler workaround used earlier for the
    instruction lxvp is replaced with actual instruction.
    
    Signed-off-by: Sachin Monga <smonga@linux.ibm.com>
    Co-authored-by: Paul Murphy <paumurph@redhat.com>
    (cherry picked from commit 2ea943f7d487d6a4166658b32af7c5365889fc34)
    (cherry picked from commit 2dbf973fe03f9b8fd5a4740ee0af0d47afdd7bbd)

 sysdeps/powerpc/powerpc64/le/power10/strncmp.S     | 252 +++++++++++++++++++++
 sysdeps/powerpc/powerpc64/multiarch/Makefile       |   2 +-
 .../powerpc/powerpc64/multiarch/ifunc-impl-list.c  |   3 +
 .../powerpc/powerpc64/multiarch/strncmp-power10.S  |  25 ++
 sysdeps/powerpc/powerpc64/multiarch/strncmp.c      |   4 +
 5 files changed, 285 insertions(+), 1 deletion(-)

commit 744bb6ba9ddf725ce045c551b435c33d9d25fb63
Author:     Sachin Monga <smonga@linux.ibm.com>
AuthorDate: Fri Nov 21 00:30:04 2025 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:24:25 2025 +0100

    ppc64le: Restore optimized strcmp for power10
    
    This patch addresses the actual cause of CVE-2025-5702
    
    The vector non-volatile registers are not used anymore for
    32 byte load and comparison operation
    
    Additionally, the assembler workaround used earlier for the
    instruction lxvp is replaced with actual instruction.
    
    Signed-off-by: Sachin Monga <smonga@linux.ibm.com>
    Co-authored-by: Paul Murphy <paumurph@redhat.com>
    (cherry picked from commit 9a40b1cda519cc4f532acb6d020390829df3d81b)
    (cherry picked from commit 6b2957cfe8ad1e02c03a28abfc5a251c05e4005e)

 sysdeps/powerpc/powerpc64/le/power10/strcmp.S      | 185 +++++++++++++++++++++
 sysdeps/powerpc/powerpc64/multiarch/Makefile       |   2 +-
 .../powerpc/powerpc64/multiarch/ifunc-impl-list.c  |   4 +
 .../powerpc/powerpc64/multiarch/strcmp-power10.S   |  26 +++
 sysdeps/powerpc/powerpc64/multiarch/strcmp.c       |   4 +
 5 files changed, 220 insertions(+), 1 deletion(-)

commit b53df2281d431267a70e806731f2c146dae4526d
Author:     Pierre Blanchard <pierre.blanchard@arm.com>
AuthorDate: Tue Nov 18 15:09:05 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:24:09 2025 +0100

    AArch64: Fix and improve SVE pow(f) special cases
    
    powf:
    
    Update scalar special case function to best use new interface.
    
    pow:
    
    Make specialcase NOINLINE to prevent str/ldr leaking in fast path.
    Remove depency in sv_call2, as new callback impl is not a
    performance gain.
    Replace with vectorised specialcase since structure of scalar
    routine is fairly simple.
    
    Throughput gain of about 5-10% on V1 for large values and 25% for subnormal `x`.
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit bb6519de1e6fe73d79bc71588ec4e5668907f080)
    (cherry picked from commit 828b8d23f3fa05234d35032a61a746918accf91d)

 sysdeps/aarch64/fpu/pow_sve.c  | 80 ++++++++++++++++++------------------------
 sysdeps/aarch64/fpu/powf_sve.c | 30 ++++------------
 2 files changed, 40 insertions(+), 70 deletions(-)

commit 4d69e5730e2bb6a9537b8722863ea5ab9312bf41
Author:     Pierre Blanchard <pierre.blanchard@arm.com>
AuthorDate: Tue Nov 18 15:03:10 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:23:51 2025 +0100

    AArch64: fix SVE tanpi(f) [BZ #33642]
    
    Fixed svld1rq using incorrect predicates (BZ #33642).
    Next to no performance variations (tested on V1).
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit e889160273a4c2b68870c9adf341955867d76a7d)
    (cherry picked from commit 710d7a2e8374cf09280a0db170a6c813b70b59e5)

 sysdeps/aarch64/fpu/tanpi_sve.c  | 10 +++++-----
 sysdeps/aarch64/fpu/tanpif_sve.c |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

commit 57a699d19f4cdd3e1a4a90a1b9d0af8f0f9dd649
Author:     Joe Ramsay <Joe.Ramsay@arm.com>
AuthorDate: Thu Nov 6 18:29:33 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:23:35 2025 +0100

    AArch64: Fix instability in AdvSIMD sinh
    
    Previously presence of special-cases in one lane could affect the
    results in other lanes due to unconditional scalar fallback. The old
    WANT_SIMD_EXCEPT option (which has never been enabled in libmvec) has
    been removed from AOR, making it easier to spot and fix
    this. No measured change in performance. This patch applies cleanly as
    far back as 2.41, however there are conflicts with 2.40 where sinh was
    first introduced.
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit e45af510bc816e860c8e2e1d4a652b4fe15c4b34)
    (cherry picked from commit 0c9430ed976b961343dd29b752091f3c4771cf30)

 sysdeps/aarch64/fpu/sinh_advsimd.c | 33 +++++++++------------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

commit fcfbd2900636abcadd94e302c90e45f94c93307e
Author:     Joe Ramsay <Joe.Ramsay@arm.com>
AuthorDate: Thu Nov 6 18:26:54 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:23:19 2025 +0100

    AArch64: Fix instability in AdvSIMD tan
    
    Previously presence of special-cases in one lane could affect the
    results in other lanes due to unconditional scalar fallback. The old
    WANT_SIMD_EXCEPT option (which has never been enabled in libmvec) has
    been removed from AOR, making it easier to spot and fix this. 4%
    improvement in throughput with GCC 14 on Neoverse V1. This bug is
    present as far back as 2.39 (where tan was first introduced).
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit 6c22823da57aa5218f717f569c04c9573c0448c5)
    (cherry picked from commit ec041b1f53bf1fd29d94ee147fac69da66437dc6)

 sysdeps/aarch64/fpu/tan_advsimd.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

commit 5dc383b7a2f2e3156508f2e577f73b9a28fe2e66
Author:     Joe Ramsay <Joe.Ramsay@arm.com>
AuthorDate: Thu Nov 6 15:36:03 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:23:02 2025 +0100

    AArch64: Optimise SVE scalar callbacks
    
    Instead of using SVE instructions to marshall special results into the
    correct lane, just write the entire vector (and the predicate) to
    memory, then use cheaper scalar operations.
    
    Geomean speedup of 16% in special intervals on Neoverse with GCC 14.
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit 5b82fb18827e962af9f080fdf3c1a69802783f67)
    (cherry picked from commit 97297120ce04f0edd16ed0357a11ef8731c5bd1e)

 sysdeps/aarch64/fpu/sv_math.h | 97 +++++++++++++++++++++++++++----------------
 1 file changed, 62 insertions(+), 35 deletions(-)

commit 657239062bc6f2631a9f90068215b2006a1fe88f
Author:     Yury Khrustalev <yury.khrustalev@arm.com>
AuthorDate: Tue Nov 11 11:40:25 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:22:46 2025 +0100

    aarch64: fix includes in SME tests
    
    Use the correct include for the SIGCHLD macro: signal.h
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit a9c426bcca59a9e228c4fbe75e75154217ec4ada)
    (cherry picked from commit 17c3eab387c3ceb6972e57888a89b1480793f81a)

 sysdeps/aarch64/tst-sme-clone.c  | 1 +
 sysdeps/aarch64/tst-sme-clone3.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit 54bd1ebbcd3578eb975f75da741cdd4ee53fdd1c
Author:     Yury Khrustalev <yury.khrustalev@arm.com>
AuthorDate: Tue Oct 28 11:01:50 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:22:30 2025 +0100

    aarch64: fix cfi directives around __libc_arm_za_disable
    
    Incorrect CFI directive corrupted call stack information
    and prevented debuggers from correctly displaying call
    stack information.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 2f77aec043f61e8533487850b11941a640ae2dea)
    (cherry picked from commit de1fe81f471496366580ad728b8986a3424b2fd7)

 sysdeps/unix/sysv/linux/aarch64/sysdep.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 7225f6c57176616a79353fe1a7442f9654174358
Author:     Jiamei Xie <xiejiamei@hygon.cn>
AuthorDate: Tue Oct 14 20:14:11 2025 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Dec 20 22:22:14 2025 +0100

    x86: fix wmemset ifunc stray '!' (bug 33542)
    
    The ifunc selector for wmemset had a stray '!' in the
    X86_ISA_CPU_FEATURES_ARCH_P(...) check:
    
      if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX2)
          && X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
                                          AVX_Fast_Unaligned_Load, !))
    
    This effectively negated the predicate and caused the AVX2/AVX512
    paths to be skipped, making the dispatcher fall back to the SSE2
    implementation even on CPUs where AVX2/AVX512 are available. The
    regression leads to noticeable throughput loss for wmemset.
    
    Remove the stray '!' so the AVX_Fast_Unaligned_Load capability is
    tested as intended and the correct AVX2/EVEX variants are selected.
    
    Impact:
    - On AVX2/AVX512-capable x86_64, wmemset no longer incorrectly
      falls back to SSE2; perf now shows __wmemset_evex/avx2 variants.
    
    Testing:
    - benchtests/bench-wmemset shows improved bandwidth across sizes.
    - perf confirm the selected symbol is no longer SSE2.
    
    Signed-off-by: xiejiamei <xiejiamei@hygon.com>
    Signed-off-by: Li jing <lijing@hygon.cn>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 4d86b6cdd8132e0410347e07262239750f86dfb4)
    (cherry picked from commit bf499c2a4964bddc25a006ec1402f8996d78c6ff)

 sysdeps/x86_64/multiarch/ifunc-wmemset.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 893b761b15b004c3f75c15ab186b899df201c1af
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Tue Sep 9 17:47:21 2025 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu Nov 6 00:45:06 2025 +0100

    math: Fix x86_64 build for -Os (BZ 33367)
    
    The compiler might not inline the trunc function call for
    USE_TRUNC_BUILTIN [1].
    
    This patch adds an optimized __trunc/__truncf for x86 used
    on modf ifunc variant to avoid the trunc libcall.
    
    Checked on x86_64, x86_64-v2, x86_64-v3, and x86_64-v4. Used -O2 and
    -Os options. Performed a full make check on x86_64 with both
     optimizations.
    
    [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121861
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
    
    (cherry picked from commit b5d88fa6c36bf17d506c235812e20191e4675986)

 sysdeps/x86/fpu/math_private.h                | 27 +++++++++++++++++++++++++++
 sysdeps/x86_64/fpu/multiarch/s_modf-avx.c     |  3 +++
 sysdeps/x86_64/fpu/multiarch/s_modf-sse4_1.c  |  3 +++
 sysdeps/x86_64/fpu/multiarch/s_modf.c         |  2 ++
 sysdeps/x86_64/fpu/multiarch/s_modff-avx.c    |  3 +++
 sysdeps/x86_64/fpu/multiarch/s_modff-sse4_1.c |  3 +++
 sysdeps/x86_64/fpu/multiarch/s_modff.c        |  2 ++
 7 files changed, 43 insertions(+)

commit 52f32ca7c68baad1140a3d12d90fb1edf54f4288 (tag: gentoo/glibc-2.42-4)
Author:     Yury Khrustalev <yury.khrustalev@arm.com>
AuthorDate: Fri Sep 26 10:03:45 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:57:34 2025 +0100

    aarch64: tests for SME
    
    This commit adds tests for the following use cases relevant to handing of
    the SME state:
    
     - fork() and vfork()
     - clone() and clone3()
     - signal handler
    
    While most cases are trivial, the case of clone3() is more complicated since
    the clone3() symbol is not public in Glibc.
    
    To avoid having to check all possible ways clone3() may be called via other
    public functions (e.g. vfork() or pthread_create()), we put together a test
    that links directly with clone3.o. All the existing functions that have calls
    to clone3() may not actually use it, in which case the outcome of such tests
    would be unexpected. Having a direct call to the clone3() symbol in the test
    allows to check precisely what we need to test: that the __arm_za_disable()
    function is indeed called and has the desired effect.
    
    Linking to clone3.o also requires linking to __arm_za_disable.o that in
    turn requires the _dl_hwcap2 hidden symbol which to provide in the test
    and initialise it before using.
    
    Co-authored-by: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit ecb0fc2f0f839f36cd2a106283142c9df8ea8214)
    (cherry picked from commit 71874f167aa5bb1538ff7e394beaacee28ebe65f)

 sysdeps/aarch64/Makefile           |  10 ++++
 sysdeps/aarch64/tst-sme-clone.c    |  53 +++++++++++++++++
 sysdeps/aarch64/tst-sme-clone3.c   |  84 +++++++++++++++++++++++++++
 sysdeps/aarch64/tst-sme-fork.c     |  43 ++++++++++++++
 sysdeps/aarch64/tst-sme-helper.h   |   7 +--
 sysdeps/aarch64/tst-sme-jmp.c      |   7 ++-
 sysdeps/aarch64/tst-sme-signal.c   | 115 +++++++++++++++++++++++++++++++++++++
 sysdeps/aarch64/tst-sme-skeleton.c | 101 ++++++++++++++++++++++++++++++++
 sysdeps/aarch64/tst-sme-vfork.c    |  43 ++++++++++++++
 sysdeps/aarch64/tst-sme-za-state.c |  71 +----------------------
 10 files changed, 458 insertions(+), 76 deletions(-)

commit 1f25229bcb1900a717cb00abad237e293b43239a
Author:     Yury Khrustalev <yury.khrustalev@arm.com>
AuthorDate: Thu Sep 25 15:54:36 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:57:15 2025 +0100

    aarch64: clear ZA state of SME before clone and clone3 syscalls
    
    This change adds a call to the __arm_za_disable() function immediately
    before the SVC instruction inside clone() and clone3() wrappers. It also
    adds a macro for inline clone() used in fork() and adds the same call to
    the vfork implementation. This sets the ZA state of SME to "off" on return
    from these functions (for both the child and the parent).
    
    The __arm_za_disable() function is described in [1] (8.1.3). Note that
    the internal Glibc name for this function is __libc_arm_za_disable().
    
    When this change was originally proposed [2,3], it generated a long
    discussion where several questions and concerns were raised. Here we
    will address these concerns and explain why this change is useful and,
    in fact, necessary.
    
    In a nutshell, a C library that conforms to the AAPCS64 spec [1] (pertinent
    to this change, mainly, the chapters 6.2 and 6.6), should have a call to the
    __arm_za_disable() function in clone() and clone3() wrappers. The following
    explains in detail why this is the case.
    
    When we consider using the __arm_za_disable() function inside the clone()
    and clone3() libc wrappers, we talk about the C library subroutines clone()
    and clone3() rather than the syscalls with similar names. In the current
    version of Glibc, clone() is public and clone3() is private, but it being
    private is not pertinent to this discussion.
    
    We will begin with stating that this change is NOT a bug fix for something
    in the kernel. The requirement to call __arm_za_disable() does NOT come from
    the kernel. It also is NOT needed to satisfy a contract between the kernel
    and userspace. This is why it is not for the kernel documentation to describe
    this requirement. This requirement is instead needed to satisfy a pure userspace
    scheme outlined in [1] and to make sure that software that uses Glibc (or any
    other C library that has correct handling of SME states (see below)) conforms
    to [1] without having to unnecessarily become SME-aware thus losing portability.
    
    To recap (see [1] (6.2)), SME extension defines SME state which is part of
    processor state. Part of this SME state is ZA state that is necessary to
    manage ZA storage register in the context of the ZA lazy saving scheme [1]
    (6.6). This scheme exists because it would be challenging to handle ZA
    storage of SME in either callee-saved or caller-saved manner.
    
    There are 3 kinds of ZA state that are defined in terms of the PSTATE.ZA
    bit and the TPIDR2_EL0 register (see [1] (6.6.3)):
    
    - "off":       PSTATE.ZA == 0
    - "active":    PSTATE.ZA == 1 TPIDR2_EL0 == null
    - "dormant":   PSTATE.ZA == 1 TPIDR2_EL0 != null
    
    As [1] (6.7.2) outlines, every subroutine has exactly one SME-interface
    depending on the permitted ZA-states on entry and on normal return from
    a call to this subroutine. Callers of a subroutine must know and respect
    the ZA-interface of the subroutines they are using. Using a subroutine
    in a way that is not permitted by its ZA-interface is undefined behaviour.
    
    In particular, clone() and clone3() (the C library functions) have the
    ZA-private interface. This means that the permitted ZA-states on entry
    are "off" and "dormant" and that the permitted states on return are "off"
    or "dormant" (but if and only if it was "dormant" on entry).
    
    This means that both functions in question should correctly handle both
    "off" and "dormant" ZA-states on entry. The conforming states on return
    are "off" and "dormant" (if inbound state was already "dormant").
    
    This change ensures that the ZA-state on return is always "off". Note,
    that, in the context of clone() and clone3(), "on return" means a point
    when execution resumes at certain address after transferring from clone()
    or clone3(). For the caller (we may refer to it as "parent") this is the
    return address in the link register where the RET instruction jumps. For
    the "child", this is the target branch address.
    
    So, the "off" state on return is permitted and conformant. Why can't we
    retain the "dormant" state? In theory, we can, but we shouldn't, here is
    why.
    
    Every subroutine with a private-ZA interface, including clone() and clone3(),
    must comply with the lazy saving scheme [1] (6.7.2). This puts additional
    responsibility on a subroutine if ZA-state on return is "dormant" because
    this state has special meaning. The "caller" (that is the place in code
    where execution is transferred to, so this include both "parent" and "child")
    may check the ZA-state and use it as per the spec of the "dormant" state that
    is outlined in [1] (6.6.6 and 6.6.7).
    
    Conforming to this would require more code inside of clone() and clone3()
    which hardly is desirable.
    
    For the return to "parent" this could be achieved in theory, but given that
    neither clone() nor clone3() are supposed to be used in the middle of an
    SME operation, if wouldn't be useful. For the "return" to "child" this
    would be particularly difficult to achieve given the complexity of these
    functions and their interfaces. Most importantly, it would be illegal
    and somewhat meaningless to allow a "child" to start execution in the
    "dormant" ZA-state because the very essence of the "dormant" state implies
    that there is a place to return and that there is some outer context that
    we are allowed to interact with.
    
    To sum up, calling __arm_za_disable() to ensure the "off" ZA-state when the
    execution resumes after a call to clone() or clone3() is correct and also
    the most simple way to conform to [1].
    
    Can there be situations when we can avoid calling __arm_za_disable()?
    
    Calling __arm_za_disable() implies certain (sufficiently small) overhead,
    so one might rightly ponder avoiding making a call to this function when
    we can afford not to. The most trivial cases like this (e.g. when the
    calling thread doesn't have access to SME or to the TPIDR2_EL0 register)
    are already handled by this function (see [1] (8.1.3 and 8.1.2)). Reasoning
    about other possible use cases would require making code inside clone() and
    clone3() more complicated and it would defeat the point of trying to make
    an optimisation of not calling __arm_za_disable().
    
    Why can't the kernel do this instead?
    
    The handling of SME state by the kernel is described in [4]. In short,
    kernel must not impose a specific ZA-interface onto a userspace function.
    Interaction with the kernel happens (among other thing) via system calls.
    In Glibc many of the system calls (notably, including SYS_clone and
    SYS_clone3) are used via wrappers, and the kernel has no control of them
    and, moreover, it cannot dictate how these wrappers should behave because
    it is simply outside of the kernel's remit.
    
    However, in certain cases, the kernel may ensure that a "child" doesn't
    start in an incorrect state. This is what is done by the recent change
    included in 6.16 kernel [5]. This is not enough to ensure that code that
    uses clone() and clone3() function conforms to [1] when it runs on a
    system that provides SME, hence this change.
    
    [1]: https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
    [2]: https://inbox.sourceware.org/libc-alpha/20250522114828.2291047-1-yury.khrustalev@arm.com
    [3]: https://inbox.sourceware.org/libc-alpha/20250609121407.3316070-1-yury.khrustalev@arm.com
    [4]: https://www.kernel.org/doc/html/v6.16/arch/arm64/sme.html
    [5]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cde5c32db55740659fca6d56c09b88800d88fd29
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 27effb3d50424fb9634be77a2acd614b0386ff25)
    (cherry picked from commit 256030b9842a10b1f22851b1de0c119761417544)

 sysdeps/unix/sysv/linux/aarch64/clone.S  |  3 +++
 sysdeps/unix/sysv/linux/aarch64/clone3.S |  3 +++
 sysdeps/unix/sysv/linux/aarch64/sysdep.h | 25 +++++++++++++++++++++++++
 sysdeps/unix/sysv/linux/aarch64/vfork.S  |  3 +++
 4 files changed, 34 insertions(+)

commit 4ec45a1c30a80b10584a469b30fc0c32a16a0ad7
Author:     Yury Khrustalev <yury.khrustalev@arm.com>
AuthorDate: Thu Sep 25 15:51:30 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:56:51 2025 +0100

    aarch64: define macro for calling __libc_arm_za_disable
    
    A common sequence of instructions is used in several places
    in assembly files, so define it in one place as an assembly
    macro.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit b4b713bd8921aff04773557da94fabb5fb9dd705)
    (cherry picked from commit 6de12fc9ad56bc19fa6fcbd8ee502f29b5170d47)

 sysdeps/aarch64/__longjmp.S                  | 12 ++----------
 sysdeps/aarch64/setjmp.S                     | 12 ++----------
 sysdeps/unix/sysv/linux/aarch64/setcontext.S | 10 +---------
 sysdeps/unix/sysv/linux/aarch64/sysdep.h     | 12 ++++++++++++
 4 files changed, 17 insertions(+), 29 deletions(-)

commit eb8606ece4d9f2b287b35a65d6fd129b697f0a96
Author:     Sunil K Pandey <sunil.k.pandey@intel.com>
AuthorDate: Wed Sep 24 09:38:17 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:56:34 2025 +0100

    x86: Detect Intel Nova Lake Processor
    
    Detect Intel Nova Lake Processor and tune it similar to Intel Panther
    Lake.  https://cdrdv2.intel.com/v1/dl/getContent/671368 Section 1.2.
    
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit a114e29ddd530962d2b44aa9d89f1f6075abe7fa)
    (cherry picked from commit ab8c1b5d62d7be2c3c23f535bea3d7fff19c53ae)

 sysdeps/x86/cpu-features.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 300c358731a99d38c8101b3bb1d2b0f7d08b9a71
Author:     Sunil K Pandey <sunil.k.pandey@intel.com>
AuthorDate: Mon Oct 6 18:13:04 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:56:10 2025 +0100

    x86: Detect Intel Wildcat Lake Processor
    
    Detect Intel Wildcat Lake Processor and tune it similar to Intel Panther
    Lake.  https://cdrdv2.intel.com/v1/dl/getContent/671368 Section 1.2.
    
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit f8dd52901b72805a831d5a4cb7d971e4a3c9970b)
    (cherry picked from commit bf48b17a28066a54f172e0d63da9fc5dc60c6355)

 sysdeps/x86/cpu-features.c | 4 ++++
 1 file changed, 4 insertions(+)

commit e2f0d1e70ccc5bfa79fe6ea3084adf2d07a5050d
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Mon Sep 8 13:06:13 2025 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:55:55 2025 +0100

    nptl: Fix MADV_GUARD_INSTALL logic for thread without guard page (BZ 33356)
    
    The main issue is that setup_stack_prot fails to account for cases where
    the cached thread stack lacks a guard page, which can cause madvise to
    fail. Update the logic to also handle whether MADV_GUARD_INSTALL is
    supported when resizing the guard page.
    
    Checked on x86_64-linux-gnu with 6.8.0 and 6.15 kernels.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 855bfa2566bbefefa27c516b344df58a75824a5c)
    (cherry picked from commit 18fd689cdced8348e42991964557cddea0ba2dc5)

 NEWS                 |  2 ++
 nptl/allocatestack.c | 22 ++++++++++++++-----
 nptl/tst-guard1.c    | 60 ++++++++++++++++++++++++++++++++++------------------
 3 files changed, 59 insertions(+), 25 deletions(-)

commit 92872b10b5464b71e8560048f27a65a157fa68a1
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Sep 12 21:33:34 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:55:38 2025 +0100

    nss: Group merge does not react to ERANGE during merge (bug 33361)
    
    The break statement in CHECK_MERGE is expected to exit the surrounding
    while loop, not the do-while loop with in the macro.  Remove the
    do-while loop from the macro.  It is not needed to turn the macro
    expansion into a single statement due to the way CHECK_MERGE is used
    (and the statement expression would cover this anyway).
    
    Reviewed-by: Collin Funk <collin.funk1@gmail.com>
    (cherry picked from commit 0fceed254559836b57ee05188deac649bc505d05)
    (cherry picked from commit 46b4e37c9e0619d0cf065ba207c29996b326a06f)

 NEWS              |  1 +
 nss/getXXbyYY_r.c | 18 +++++++-----------
 2 files changed, 8 insertions(+), 11 deletions(-)

commit 75e4e240d4e5a78218efc3f1a4584f91b05bd3fd
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Sep 5 19:02:57 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:55:21 2025 +0100

    libio: Define AT_RENAME_* with the same tokens as Linux
    
    Linux uses different expressions for the RENAME_* and AT_RENAME_*
    constants.  Mirror that in <stdio.h>, so that the macro redefinitions
    do not result in preprocessor warnings.
    
    Reviewed-by: Collin Funk <collin.funk1@gmail.com>
    (cherry picked from commit b173557da978a04ac3bdfc0bd3b0e7ac583b44d5)
    (cherry picked from commit 1166170d95863e5a6f8121a5ca9d97713f524f49)

 libio/stdio.h                | 6 +++---
 stdio-common/tst-renameat2.c | 6 ++++++
 2 files changed, 9 insertions(+), 3 deletions(-)

commit 789d8f042358b070bb0cea3a493e1a00a899d085
Author:     Pierre Blanchard <pierre.blanchard@arm.com>
AuthorDate: Wed Aug 20 17:41:50 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Wed Oct 29 13:54:54 2025 +0100

    AArch64: Fix SVE powf routine [BZ #33299]
    
    Fix a bug in predicate logic introduced in last change.
    A slight performance improvement from relying on all true
    predicates during conversion from single to double.
    This fixes BZ #33299.
    
    Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
    (cherry picked from commit aac077645a645bba0d67f3250e82017c539d0f4b)
    (cherry picked from commit e34453cd6a8c592c325756ff3c7ac0afd3975cb4)

 sysdeps/aarch64/fpu/powf_sve.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit ef6bed1eaa99b7c0ab444b17a70638b56e77f0ae (tag: gentoo/glibc-2.42-3)
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Mon Aug 18 09:06:48 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:17:35 2025 +0200

    i386: Also add GLIBC_ABI_GNU2_TLS version [BZ #33129]
    
    Since the GNU2 TLS run-time bug:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=31372
    
    affects both i386 and x86-64, also add GLIBC_ABI_GNU2_TLS version to i386
    to indicate the working GNU2 TLS run-time.  For x86-64, the additional
    GNU2 TLS run-time bug fix is needed for
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=31501
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit bd4628f3f18ac312408782eea450429c6f044860)
    (cherry picked from commit e87844ec42b77363a499ea4da6c4a6ab85eba310)

 sysdeps/x86/Makefile    | 9 +++++++++
 sysdeps/x86/Versions    | 5 +++++
 sysdeps/x86_64/Makefile | 9 ---------
 sysdeps/x86_64/Versions | 5 -----
 4 files changed, 14 insertions(+), 14 deletions(-)

commit 1e738c2d70e5f94078ba6a34b72b5b7d9b6d1fdb
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu Aug 14 07:03:20 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:17:16 2025 +0200

    x86-64: Add GLIBC_ABI_DT_X86_64_PLT [BZ #33212]
    
    When the linker -z mark-plt option is used to add DT_X86_64_PLT,
    DT_X86_64_PLTSZ and DT_X86_64_PLTENT, the r_addend field of the
    R_X86_64_JUMP_SLOT relocation stores the offset of the indirect
    branch instruction.  However, glibc versions without the commit:
    
    commit f8587a61892cbafd98ce599131bf4f103466f084
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Fri May 20 19:21:48 2022 -0700
    
        x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT
    
        According to x86-64 psABI, r_addend should be ignored for R_X86_64_GLOB_DAT
        and R_X86_64_JUMP_SLOT.  Since linkers always set their r_addends to 0, we
        can ignore their r_addends.
    
        Reviewed-by: Fangrui Song <maskray@google.com>
    
    won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation.
    Such programs and shared libraries will fail at run-time randomly.
    
    Add GLIBC_ABI_DT_X86_64_PLT version to indicate that glibc is compatible
    with DT_X86_64_PLT.
    
    The linker can add the glibc GLIBC_ABI_DT_X86_64_PLT version dependency
    whenever -z mark-plt is passed to the linker.  The resulting programs and
    shared libraries will fail to load at run-time against libc.so without the
    GLIBC_ABI_DT_X86_64_PLT version, instead of fail randomly.
    
    This fixes BZ #33212.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit 399384e0c8193e31aea014220ccfa24300ae5938)
    (cherry picked from commit 7a8f3c6ee4b565a02da4ba0dad9aaeaeed4639ce)

 sysdeps/x86_64/Makefile | 9 +++++++++
 sysdeps/x86_64/Versions | 5 +++++
 2 files changed, 14 insertions(+)

commit e986eeabded81a21b6624d019ef6cb0a65a05c6e
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Mon Jul 28 12:18:22 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:16:55 2025 +0200

    x86-64: Add GLIBC_ABI_GNU2_TLS version [BZ #33129]
    
    Programs and shared libraries compiled with -mtls-dialect=gnu2 may fail
    silently at run-time against glibc without the GNU2 TLS run-time fix
    for:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=31372
    
    Add GLIBC_ABI_GNU2_TLS version to indicate that glibc has the working
    GNU2 TLS run-time.  Linker can add the GLIBC_ABI_GNU2_TLS version to
    binaries which depend on the working GNU2 TLS run-time:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=33130
    
    so that such programs and shared libraries will fail to load and run at
    run-time against libc.so without the GLIBC_ABI_GNU2_TLS version, instead
    of fail silently at random.
    
    This fixes BZ #33129.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit 9df8fa397d515dc86ff5565f6c45625e672d539e)
    (cherry picked from commit 3970785bebcc3f1de4460072f3a041d178f64846)

 sysdeps/x86_64/Makefile | 9 +++++++++
 sysdeps/x86_64/Versions | 5 +++++
 2 files changed, 14 insertions(+)

commit d28c3d97df8b11b00962837e51397fd56687547a
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Mon Jul 28 12:16:11 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:16:36 2025 +0200

    i386: Add GLIBC_ABI_GNU_TLS version [BZ #33221]
    
    On i386, programs and shared libraries with __thread usage may fail
    silently at run-time against glibc without the TLS run-time fix for:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=32996
    
    Add GLIBC_ABI_GNU_TLS version to indicate that glibc has the working
    GNU TLS run-time.  Linker can add the GLIBC_ABI_GNU_TLS version to
    binaries which depend on the working TLS run-time so that such programs
    and shared libraries will fail to load and run at run-time against
    libc.so without the GLIBC_ABI_GNU_TLS version, instead of fail silently
    at random.
    
    This fixes BZ #33221.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit ed1b7a5a489ab555a27fad9c101ebe2e1c1ba881)
    (cherry picked from commit d0f72b96f2e91e1aa93f7e826c71f74078ada7d0)

 sysdeps/i386/Makefile | 9 +++++++++
 sysdeps/i386/Versions | 5 +++++
 2 files changed, 14 insertions(+)

commit ddfbe239f18d35a0dc62abb7b78ac3c05016daa9
Author:     Jens Remus <jremus@linux.ibm.com>
AuthorDate: Fri Jul 25 15:40:03 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:16:16 2025 +0200

    Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables [BZ #33234]
    
    Commit 10a66a8e421b ("Remove <libc-tsd.h>") removed the TLS initial-exec
    (IE) model attribute from the __libc_tsd_CTYPE_* thread variable declarations
    and definitions.  Commit a894f04d8776 ("Optimize __libc_tsd_* thread
    variable access") restored it on declarations.
    
    Restore the TLS initial-exec model attribute on __libc_tsd_CTYPE_* thread
    variable definitions.
    
    This resolves test tst-locale1 failure on s390 32-bit, when using a
    GNU linker without the fix from GNU binutils commit aefebe82dc89
    ("IBM zSystems: Fix offset relative to static TLS").
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit e5363e6f460c2d58809bf10fc96d70fd1ef8b5b2)
    (cherry picked from commit 8dbaecbe92ac7ab73b7d0aae84626af59131e41b)

 NEWS               | 1 +
 ctype/ctype-info.c | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

commit 49ca2e67d46736715a05e9ef93974dde7c55e530
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Sun Aug 10 23:43:37 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:15:58 2025 +0200

    malloc: Fix checking for small negative values of tcache_key
    
    tcache_key is unsigned so we should turn it explicitly to signed before
    taking its absolute value.
    
    (cherry picked from commit 8543577b04ded6d979ffcc5a818930e4d74d0645)
    (cherry picked from commit d7274d718e6f3655eabe311d4eb70fabb5ffa7ef)

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

commit a62d28fe3a4b942070e10913cd0a1ae22a48fb7c
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Wed Jul 30 01:55:22 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:15:43 2025 +0200

    malloc: Make sure tcache_key is odd enough
    
    We want tcache_key not to be a commonly-occurring value in memory, so ensure
    a minimum amount of one and zero bits.
    
    And we need it non-zero, otherwise even if tcache_double_free_verify sets
    e->key to 0 before calling __libc_free, it gets called again by __libc_free,
    thus looping indefinitely.
    
    Fixes: c968fe50628db74b52124d863cd828225a1d305c ("malloc: Use tailcalls in __libc_free")
    (cherry picked from commit 2536c4f8584082a1ac4c5e0a2a6222e290d43983)
    (cherry picked from commit a96a82c4a5efd3139e75cd11fd2a5554164dd5a0)

 malloc/malloc.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 1510c8b0a3fe4ced9748d25ca9a18e4afd22f78b
Author:     Wilco Dijkstra <wilco.dijkstra@arm.com>
AuthorDate: Thu Jul 17 14:31:06 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:15:28 2025 +0200

    malloc: Fix MAX_TCACHE_SMALL_SIZE
    
    MAX_TCACHE_SMALL_SIZE should use chunk size since it is used after
    checked_request2size.  Increase limit of tcache_max_bytes by 1 since all
    comparisons use '<'.  As a result, the last tcache entry is now used as
    expected.
    
    Reviewed-by: DJ Delorie <dj@redhat.com>
    (cherry picked from commit ad4caba4146583fc543cd434221dec7113c03e09)
    (cherry picked from commit c491dabd8a3de090d1ccb4589421a44e79c5b185)

 malloc/malloc.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

commit 0b86149b05c6e06c00e980092e0127e35149c512
Author:     Wilco Dijkstra <wilco.dijkstra@arm.com>
AuthorDate: Thu Jul 10 15:49:14 2025 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:15:12 2025 +0200

    malloc: Remove redundant NULL check
    
    Remove a redundant NULL check from tcache_get_n.
    
    Reviewed-by: Cupertino Miranda <cupertino.miranda@oracle.com>
    (cherry picked from commit 089b4fb90fac8ed53039bc4c465c4d333c6b4048)
    (cherry picked from commit 8a726b63047241c6dd4b55bf85eacd02244362a2)

 malloc/malloc.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 1fbc8b82543e7b1d82d34eb03e57ac977f60979b
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Fri Jul 18 23:14:40 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:14:57 2025 +0200

    hurd: support: Fix running SGID tests
    
    Secure mode is enabled only if SGID actually provides a new privilege,
    so we have to drop it before gaining it again.
    
    Fixes commit 3a3fb2ed83f79100c116c824454095ecfb335ad7
    ("Fix error reporting (false negatives) in SGID tests")
    
    (cherry picked from commit ad4589e2d834c80a042a8c354fb00cf33e06802c)
    (cherry picked from commit c5476b7907d01207ede6bf57b26cef151b601f35)

 support/support_capture_subprocess.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 044a8956a76bff028816090f430a4b3d6386ed99
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Tue Aug 5 09:16:14 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:14:41 2025 +0200

    Revert "tst-freopen4-main.c: Call support_capture_subprocess with chroot"
    
    Revert commit 6463d4a7b28e5ee3891c34a8a1f0a59c24dfa9de to fix
    
    FAIL: stdio-common/tst-freopen4-mem
    FAIL: stdio-common/tst-freopen64-4-mem
    
    This fixes BZ #33254.
    
    Reviewed-by: Sam James <sam@gentoo.org>
    (cherry picked from commit adec0bf05bc23ec35573c7a5b96440089b69265e)
    (cherry picked from commit e5754399b542640f3f69c5e2513c57a307656032)

 stdio-common/tst-freopen4-main.c | 44 +++++++++++++---------------------------
 1 file changed, 14 insertions(+), 30 deletions(-)

commit 8b28148080729f4eaf0fe7ca62b8485793b16762
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sat Jul 19 07:43:29 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:14:22 2025 +0200

    tst-env-setuid: Delete LD_DEBUG_OUTPUT output
    
    Update tst-env-setuid.c to delete LD_DEBUG_OUTPUT output, instead of
    leaving it behind.
    
    This partially fixes BZ #33182.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 5d23dfb289174d73b8907b86d2bef7a3ca889840)
    (cherry picked from commit c090b0cb1cde74aaeec01663dd55d6681dc92075)

 elf/tst-env-setuid.c | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

commit db79b046d06467ef33100b3ee95fe24d32470fdb
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sat Jul 19 07:43:28 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:14:05 2025 +0200

    tst-freopen4-main.c: Call support_capture_subprocess with chroot
    
    Update tst-freopen4-main.c to call support_capture_subprocess with chroot,
    which makes temporary files inaccessible, so that temporary files can be
    deleted.
    
    This partially fixes BZ #33182.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 6463d4a7b28e5ee3891c34a8a1f0a59c24dfa9de)
    (cherry picked from commit 41a77b78cff821007e3dd874619ebec7ce708c3d)

 stdio-common/tst-freopen4-main.c | 44 +++++++++++++++++++++++++++-------------
 1 file changed, 30 insertions(+), 14 deletions(-)

commit a10dc746f7283d51e2bbc524a0ccf956aa5ff2f0
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sat Jul 19 07:43:27 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:13:47 2025 +0200

    tst-fopen-threaded.c: Delete temporary file
    
    Update tst-fopen-threaded.c to call support_create_temp_directory to
    create a temporary directory and open "file" in the temporary directory,
    instead of using /tmp/openclosetest and leaving it behind.
    
    This partially fixes BZ #33182.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit e7db5150603bb2224a2bfd9628cae04ddcbe49e3)
    (cherry picked from commit 9ec7a532ffdb9a6e0a4b220d7a694d6120701035)

 sysdeps/pthread/tst-fopen-threaded.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 5f3cbd7f3cfd0dd2e59ffaf29257b2a3fd79034d
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sat Jul 19 07:43:26 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 18:13:28 2025 +0200

    Delete temporary files in support_subprocess
    
    Call support_delete_temp_files to delete temporary files before exit in
    support_subprocess.
    
    This partially fixes BZ #33182.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit d27b1a71cd424710813bd3d81afb32a36470d643)
    (cherry picked from commit 9d5bf9c17db0f35268cd798660c8bbeea1f4071d)

 support/support_subprocess.c | 3 +++
 1 file changed, 3 insertions(+)

commit 9f4dc61837957db262be80e8a469f25769e8ef77 (tag: gentoo/glibc-2.42-2)
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Fri Aug 1 15:00:25 2025 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sun Aug 3 00:21:25 2025 +0200

    nptl: Fix SYSCALL_CANCEL for return values larger than INT_MAX (BZ 33245)
    
    The SYSCALL_CANCEL calls __syscall_cancel, which in turn
    calls __internal_syscall_cancel with an 'int' return instead of the
    expected 'long int'.  This causes issues with syscalls that return
    values larger than INT_MAX, such as copy_file_range [1].
    
    Checked on x86_64-linux-gnu.
    
    [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79139
    
    Reviewed-by: Andreas K. Huettel <dilfridge@gentoo.org>
    (cherry picked from commit 7107bebf19286f42dcb0a97581137a5893c16206)
    (cherry picked from commit b38f3f60d5b157edcf4d8bd1fd3ed02d417889e0)

 NEWS                | 1 +
 nptl/cancellation.c | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit b32e0caedded05692dcfbfb2a9c509e743e4216e
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Aug 1 19:27:35 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 2 16:27:32 2025 +0200

    elf: Handle ld.so with LOAD segment gaps in _dl_find_object (bug 31943)
    
    Detect if ld.so not contiguous and handle that case in _dl_find_object.
    Set l_find_object_processed even for initially loaded link maps,
    otherwise dlopen of an initially loaded object adds it to
    _dlfo_loaded_mappings (where maps are expected to be contiguous),
    in addition to _dlfo_nodelete_mappings.
    
    Test elf/tst-link-map-contiguous-ldso iterates over the loader
    image, reading every word to make sure memory is actually mapped.
    It only does that if the l_contiguous flag is set for the link map.
    Otherwise, it finds gaps with mmap and checks that _dl_find_object
    does not return the ld.so mapping for them.
    
    The test elf/tst-link-map-contiguous-main does the same thing for
    the libc.so shared object.  This only works if the kernel loaded
    the main program because the glibc dynamic loader may fill
    the gaps with PROT_NONE mappings in some cases, making it contiguous,
    but accesses to individual words may still fault.
    
    Test elf/tst-link-map-contiguous-libc is again slightly different
    because the dynamic loader always fills the gaps with PROT_NONE
    mappings, so a different form of probing has to be used.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 20681be149b9eb1b6c1f4246bf4bd801221c86cd)
    (cherry picked from commit 5e298d2d937b6da06500478be956abeb24357e05)

 NEWS                               |  1 +
 elf/Makefile                       |  6 +++
 elf/dl-find_object.c               | 74 +++++++++++++++++-----------
 elf/dl-find_object.h               |  7 ++-
 elf/rtld.c                         | 25 +++++++++-
 elf/tst-link-map-contiguous-ldso.c | 98 ++++++++++++++++++++++++++++++++++++++
 elf/tst-link-map-contiguous-libc.c | 57 ++++++++++++++++++++++
 elf/tst-link-map-contiguous-main.c | 45 +++++++++++++++++
 8 files changed, 281 insertions(+), 32 deletions(-)

commit 23e2f26dd5787da6dab4e48177997ab2fdd09295
Author:     Florian Weimer <fweimer@redhat.com>
AuthorDate: Fri Aug 1 19:27:04 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 2 16:27:15 2025 +0200

    elf: Extract rtld_setup_phdr function from dl_main
    
    Remove historic binutils reference from comment and update
    how this data is used by applications.
    
    Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    (cherry picked from commit 2cac9559e06044ba520e785c151fbbd25011865f)
    (cherry picked from commit 2fadee530155bae6682ab2965d6ff3a2fc9eced6)

 elf/rtld.c | 59 ++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 32 insertions(+), 27 deletions(-)

commit 5ed22751707288d7e9a04cb2eb6b1cc800822753
Author:     Davide Cavalca <davide@cavalca.name>
AuthorDate: Thu Jul 31 17:32:58 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 2 16:26:56 2025 +0200

    stdlib: resolve a double lock init issue after fork [BZ #32994]
    
    The __abort_fork_reset_child (introduced in
    d40ac01cbbc66e6d9dbd8e3485605c63b2178251) call resets the lock after the
    fork. This causes a DRD regression in valgrind
    (https://bugs.kde.org/show_bug.cgi?id=503668), as it's effectively a
    double initialization, despite it being actually ok in this case. As
    suggested in https://sourceware.org/bugzilla/show_bug.cgi?id=32994#c2
    we replace it here with a memcpy of another initialized lock instead,
    which makes valgrind happy.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit d9a348d0927c7a1aec5caf3df3fcd36956b3eb23)
    (cherry picked from commit fd18059c0fcf5568db3688da47403b663cf91c5e)

 NEWS           | 2 +-
 stdlib/abort.c | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 4fc972dd00492f26cf90e8531dca312657c9a5f2
Author:     Sam James <sam@gentoo.org>
AuthorDate: Mon Jul 28 21:55:30 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 2 16:26:40 2025 +0200

    inet-fortified: fix namespace violation (bug 33227)
    
    We need to use __sz, not sz, as we do elsewhere.
    
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    (cherry picked from commit 87afbd7a1ad9c1dd116921817fa97198171045db)
    (cherry picked from commit bc13db73937730401d592b33092db6df806d193e)

 inet/bits/inet-fortified.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit f891d16d1756bfa0067ec36c144a226077fc19ae (tag: gentoo/glibc-2.42-1)
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: Mon Jul 28 23:44:46 2025 +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 opendir creates a map entry between the DIR d_off
    offset and the returned long int (the telldir return value).
    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 removes 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.
    
    Rebased for glibc-2.41 by Andreas K. Hüttel <dilfridge@gentoo.org>

 include/dirent.h                            |   2 +-
 sysdeps/unix/sysv/linux/Makefile            |   2 +
 sysdeps/unix/sysv/linux/alpha/bits/dirent.h |   3 +
 sysdeps/unix/sysv/linux/bits/dirent.h       |   4 +
 sysdeps/unix/sysv/linux/closedir.c          |   4 +
 sysdeps/unix/sysv/linux/dirstream.h         |   9 +-
 sysdeps/unix/sysv/linux/opendir.c           |   3 +
 sysdeps/unix/sysv/linux/readdir.c           |  21 ++--
 sysdeps/unix/sysv/linux/readdir64.c         |  11 +++
 sysdeps/unix/sysv/linux/rewinddir.c         |   5 +
 sysdeps/unix/sysv/linux/seekdir.c           |  30 +++++-
 sysdeps/unix/sysv/linux/telldir.c           |  36 +++++++
 sysdeps/unix/sysv/linux/telldir.h           |  70 ++++++++++++++
 sysdeps/unix/sysv/linux/tst-opendir-lfs.c   |   2 +
 sysdeps/unix/sysv/linux/tst-opendir.c       | 145 ++++++++++++++++++++++++++++
 15 files changed, 329 insertions(+), 18 deletions(-)

commit 0ba7dee5206ad3354e08946009563648e7a175e1
Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
AuthorDate: Wed Mar 1 14:41:23 2023 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Jul 28 23:44:43 2025 +0200

    support: Add xreallocarray
    
    As a wrapper over reallocarray.

 support/Makefile        |  1 +
 support/support.h       |  2 ++
 support/xreallocarray.c | 29 +++++++++++++++++++++++++++++
 3 files changed, 32 insertions(+)

commit b33bc4144e68718ca97811d78dc9b784bfabc33e
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: Mon Jul 28 23:44:40 2025 +0200

    linux: Use getdents64 on non-LFS readdir
    
    It is similar to what non-LFS getdents do (including overflow check).
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.

 sysdeps/unix/sysv/linux/readdir.c | 97 +++++++++++++++++++++++++++++----------
 1 file changed, 73 insertions(+), 24 deletions(-)

commit bd81d899d155e24a242d8e88a481007c3b0c1e4d
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: Mon Jul 28 23:44:37 2025 +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 101b4f190d3de484c62a9e89fb348e1c261e477d
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: Mon Jul 28 23:44:34 2025 +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)
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 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 2ce5d753ebeae61e1ba0b02a9147e11831cea7db
Author:     Mike Frysinger <vapier@gentoo.org>
AuthorDate: Tue Aug 3 00:34:59 2021 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Jul 28 23:44:31 2025 +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
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

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

commit 3ec4dd77f648da031bba4d3fa14825e057b5a40d
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Mon Jul 28 23:39:48 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Jul 28 23:39:48 2025 +0200

    NEWS: add new section
    
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

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

commit bdea6c37197a3c9bd976911cce5f580dea1c28dd
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Mon Jul 28 20:35:38 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Jul 28 20:35:38 2025 +0200

    Replace advisories directory with pointer file
    
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 ADVISORIES                    |  2 ++
 advisories/GLIBC-SA-2023-0001 | 14 --------
 advisories/GLIBC-SA-2023-0002 | 15 ---------
 advisories/GLIBC-SA-2023-0003 | 15 ---------
 advisories/GLIBC-SA-2023-0004 | 16 ---------
 advisories/GLIBC-SA-2023-0005 | 18 ----------
 advisories/GLIBC-SA-2024-0001 | 15 ---------
 advisories/GLIBC-SA-2024-0002 | 15 ---------
 advisories/GLIBC-SA-2024-0003 | 13 --------
 advisories/GLIBC-SA-2024-0004 | 28 ----------------
 advisories/GLIBC-SA-2024-0005 | 22 -------------
 advisories/GLIBC-SA-2024-0006 | 32 ------------------
 advisories/GLIBC-SA-2024-0007 | 28 ----------------
 advisories/GLIBC-SA-2024-0008 | 26 ---------------
 advisories/GLIBC-SA-2025-0001 | 40 ----------------------
 advisories/GLIBC-SA-2025-0002 | 23 -------------
 advisories/GLIBC-SA-2025-0003 | 30 -----------------
 advisories/GLIBC-SA-2025-0004 | 29 ----------------
 advisories/GLIBC-SA-2025-0005 | 14 --------
 advisories/README             | 77 -------------------------------------------
 20 files changed, 2 insertions(+), 470 deletions(-)
