From a2ecc900324af10c49a882b945d0afb080ef97b7 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno <aurel32@debian.org> Date: Thu, 6 Mar 2025 23:46:53 +0100 Subject: [PATCH 1/3] Import Debian changes 2.36-9+deb12u10 --- debian/changelog | 18 + debian/patches/git-updates.diff | 1759 ++++++++++++++++++++++++++++++- 2 files changed, 1737 insertions(+), 40 deletions(-) diff --git a/debian/changelog b/debian/changelog index db487cb82..0683aeade 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +glibc (2.36-9+deb12u10) bookworm; urgency=medium + + * debian/patches/git-updates.diff: update from upstream stable branch: + - Change ldconfig auxcache magic number. + - Ensure data passed to the rseq syscall are properly initialized. + - Avoid integer truncation when parsing CPUID data with large cache sizes, + fixing a memcpy/memmove when running under the FreeBSD's bhyve + hypervisor. + - Optimize log2/expm1/log1p math functions with FMA. + - Fix missing cache information when running under Azure TDX hypervisor. + - Fix TLS performance degradation after dlopen() usage. + - Fix memset performance for unaligned destinations causing additional + loop iterations. + - Fixes a buffer overflow when printing assertion failure message + (GLIBC-SA-2025-0001 / CVE-2025-0395). + + -- Aurelien Jarno <aurel32@debian.org> Thu, 06 Mar 2025 23:46:53 +0100 + glibc (2.36-9+deb12u9) bookworm; urgency=medium * debian/testsuite-xfail-debian.mk: mark tst-support_descriptors as XFAIL, diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff index e5d246ed3..f37bb1ad2 100644 --- a/debian/patches/git-updates.diff +++ b/debian/patches/git-updates.diff @@ -85,10 +85,10 @@ index d1e139d03c..09c0cf8357 100644 else # -s verbose := diff --git a/NEWS b/NEWS -index f61e521fc8..3437574218 100644 +index f61e521fc8..96ff2c8a20 100644 --- a/NEWS +++ b/NEWS -@@ -5,6 +5,107 @@ See the end for copying conditions. +@@ -5,6 +5,115 @@ See the end for copying conditions. Please send GNU C library bug reports via <https://sourceware.org/bugzilla/> using `glibc' in the "product" field. @@ -133,6 +133,11 @@ index f61e521fc8..3437574218 100644 + buffer overflow, which could be exploited to achieve escalated + privileges. This flaw was introduced in glibc 2.34. + ++ CVE-2025-0395: When the assert() function fails, it does not allocate ++ enough space for the assertion failure message string and size ++ information, which may lead to a buffer overflow if the message string ++ size aligns to page size. ++ +The following bugs are resolved with this release: + + [12154] Do not fail DNS resolution for CNAMEs which are not host names @@ -192,10 +197,177 @@ index f61e521fc8..3437574218 100644 + [31968] mremap implementation in C does not handle arguments correctly + [32052] Name space violation in fortify wrappers + [32137] libio: Attempt wide backup free only for non-legacy code ++ [32231] elf: Change ldconfig auxcache magic number ++ [32470] x86: Avoid integer truncation with large cache sizes ++ [32582] Fix underallocation of abort_msg_s struct (CVE-2025-0395) + Version 2.36 Major new features: +diff --git a/assert/Makefile b/assert/Makefile +index f7cf8e9b77..df5a8e6f10 100644 +--- a/assert/Makefile ++++ b/assert/Makefile +@@ -22,10 +22,23 @@ subdir := assert + + include ../Makeconfig + +-headers := assert.h +- +-routines := assert assert-perr __assert +-tests := test-assert test-assert-perr tst-assert-c++ tst-assert-g++ ++headers := \ ++ assert.h ++ # headers ++ ++routines := \ ++ __assert \ ++ assert \ ++ assert-perr \ ++ # routines ++ ++tests := \ ++ test-assert \ ++ test-assert-perr \ ++ tst-assert-c++ \ ++ tst-assert-g++ \ ++ tst-assert-sa-2025-0001 \ ++ # tests + + ifeq ($(have-cxx-thread_local),yes) + CFLAGS-tst-assert-c++.o = -std=c++11 +@@ -33,7 +46,10 @@ LDLIBS-tst-assert-c++ = -lstdc++ + CFLAGS-tst-assert-g++.o = -std=gnu++11 + LDLIBS-tst-assert-g++ = -lstdc++ + else +-tests-unsupported += tst-assert-c++ tst-assert-g++ ++tests-unsupported += \ ++ tst-assert-c++ \ ++ tst-assert-g++ \ ++ # tests-unsupported + endif + + include ../Rules +diff --git a/assert/assert.c b/assert/assert.c +index 133a183bc3..9e55eeb473 100644 +--- a/assert/assert.c ++++ b/assert/assert.c +@@ -18,6 +18,7 @@ + #include <assert.h> + #include <atomic.h> + #include <ldsodefs.h> ++#include <libc-pointer-arith.h> + #include <libintl.h> + #include <stdio.h> + #include <stdlib.h> +@@ -64,7 +65,8 @@ __assert_fail_base (const char *fmt, const char *assertion, const char *file, + (void) __fxprintf (NULL, "%s", str); + (void) fflush (stderr); + +- total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1); ++ total = ALIGN_UP (total + sizeof (struct abort_msg_s) + 1, ++ GLRO(dl_pagesize)); + struct abort_msg_s *buf = __mmap (NULL, total, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_PRIVATE, -1, 0); + if (__glibc_likely (buf != MAP_FAILED)) +diff --git a/assert/tst-assert-sa-2025-0001.c b/assert/tst-assert-sa-2025-0001.c +new file mode 100644 +index 0000000000..102cb0078d +--- /dev/null ++++ b/assert/tst-assert-sa-2025-0001.c +@@ -0,0 +1,92 @@ ++/* Test for CVE-2025-0395. ++ Copyright The GNU Toolchain Authors. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++/* Test that a large enough __progname does not result in a buffer overflow ++ when printing an assertion failure. This was CVE-2025-0395. */ ++#include <assert.h> ++#include <inttypes.h> ++#include <signal.h> ++#include <stdbool.h> ++#include <string.h> ++#include <sys/mman.h> ++#include <support/check.h> ++#include <support/support.h> ++#include <support/xstdio.h> ++#include <support/xunistd.h> ++ ++extern const char *__progname; ++ ++int ++do_test (int argc, char **argv) ++{ ++ ++ support_need_proc ("Reads /proc/self/maps to add guards to writable maps."); ++ ignore_stderr (); ++ ++ /* XXX assumes that the assert is on a 2 digit line number. */ ++ const char *prompt = ": %s:99: do_test: Assertion `argc < 1' failed.\n"; ++ ++ int ret = fprintf (stderr, prompt, __FILE__); ++ if (ret < 0) ++ FAIL_EXIT1 ("fprintf failed: %m\n"); ++ ++ size_t pagesize = getpagesize (); ++ size_t namesize = pagesize - 1 - ret; ++ ++ /* Alter the progname so that the assert message fills the entire page. */ ++ char progname[namesize]; ++ memset (progname, 'A', namesize - 1); ++ progname[namesize - 1] = '\0'; ++ __progname = progname; ++ ++ FILE *f = xfopen ("/proc/self/maps", "r"); ++ char *line = NULL; ++ size_t len = 0; ++ uintptr_t prev_to = 0; ++ ++ /* Pad the beginning of every writable mapping with a PROT_NONE map. This ++ ensures that the mmap in the assert_fail path never ends up below a ++ writable map and will terminate immediately in case of a buffer ++ overflow. */ ++ while (xgetline (&line, &len, f)) ++ { ++ uintptr_t from, to; ++ char perm[4]; ++ ++ sscanf (line, "%" SCNxPTR "-%" SCNxPTR " %c%c%c%c ", ++ &from, &to, ++ &perm[0], &perm[1], &perm[2], &perm[3]); ++ ++ bool writable = (memchr (perm, 'w', 4) != NULL); ++ ++ if (prev_to != 0 && from - prev_to > pagesize && writable) ++ xmmap ((void *) from - pagesize, pagesize, PROT_NONE, ++ MAP_ANONYMOUS | MAP_PRIVATE, 0); ++ ++ prev_to = to; ++ } ++ ++ xfclose (f); ++ ++ assert (argc < 1); ++ return 0; ++} ++ ++#define EXPECTED_SIGNAL SIGABRT ++#define TEST_FUNCTION_ARGV do_test ++#include <support/test-driver.c> diff --git a/bits/socket.h b/bits/socket.h index 2b99dea33b..aac8c49b00 100644 --- a/bits/socket.h @@ -358,7 +530,7 @@ index 2696dde4b1..9b07b4e132 100644 void * diff --git a/elf/Makefile b/elf/Makefile -index fd77d0c7c8..cea9c1b29d 100644 +index fd77d0c7c8..eb77ff641d 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -53,6 +53,7 @@ routines = \ @@ -394,7 +566,15 @@ index fd77d0c7c8..cea9c1b29d 100644 tst-dlopenfail \ tst-dlopenfail-2 \ tst-dlopenrpath \ -@@ -631,6 +636,7 @@ ifeq ($(run-built-tests),yes) +@@ -435,6 +440,7 @@ tests += \ + tst-p_align1 \ + tst-p_align2 \ + tst-p_align3 \ ++ tst-recursive-tls \ + tst-relsort1 \ + tst-ro-dynamic \ + tst-rtld-run-static \ +@@ -631,6 +637,7 @@ ifeq ($(run-built-tests),yes) tests-special += \ $(objpfx)noload-mem.out \ $(objpfx)tst-ldconfig-X.out \ @@ -402,7 +582,7 @@ index fd77d0c7c8..cea9c1b29d 100644 $(objpfx)tst-leaks1-mem.out \ $(objpfx)tst-rtld-help.out \ # tests-special -@@ -765,6 +771,8 @@ modules-names += \ +@@ -765,6 +772,8 @@ modules-names += \ tst-alignmod3 \ tst-array2dep \ tst-array5dep \ @@ -411,7 +591,7 @@ index fd77d0c7c8..cea9c1b29d 100644 tst-audit11mod1 \ tst-audit11mod2 \ tst-audit12mod1 \ -@@ -798,6 +806,7 @@ modules-names += \ +@@ -798,6 +807,7 @@ modules-names += \ tst-auditmanymod7 \ tst-auditmanymod8 \ tst-auditmanymod9 \ @@ -419,7 +599,7 @@ index fd77d0c7c8..cea9c1b29d 100644 tst-auditmod1 \ tst-auditmod9a \ tst-auditmod9b \ -@@ -834,6 +843,8 @@ modules-names += \ +@@ -834,6 +844,8 @@ modules-names += \ tst-dlmopen1mod \ tst-dlmopen-dlerror-mod \ tst-dlmopen-gethostbyname-mod \ @@ -428,7 +608,31 @@ index fd77d0c7c8..cea9c1b29d 100644 tst-dlopenfaillinkmod \ tst-dlopenfailmod1 \ tst-dlopenfailmod2 \ -@@ -990,23 +1001,8 @@ modules-names += tst-gnu2-tls1mod +@@ -866,6 +878,23 @@ modules-names += \ + tst-null-argv-lib \ + tst-p_alignmod-base \ + tst-p_alignmod3 \ ++ tst-recursive-tlsmallocmod \ ++ tst-recursive-tlsmod0 \ ++ tst-recursive-tlsmod1 \ ++ tst-recursive-tlsmod2 \ ++ tst-recursive-tlsmod3 \ ++ tst-recursive-tlsmod4 \ ++ tst-recursive-tlsmod5 \ ++ tst-recursive-tlsmod6 \ ++ tst-recursive-tlsmod7 \ ++ tst-recursive-tlsmod8 \ ++ tst-recursive-tlsmod9 \ ++ tst-recursive-tlsmod10 \ ++ tst-recursive-tlsmod11 \ ++ tst-recursive-tlsmod12 \ ++ tst-recursive-tlsmod13 \ ++ tst-recursive-tlsmod14 \ ++ tst-recursive-tlsmod15 \ + tst-relsort1mod1 \ + tst-relsort1mod2 \ + tst-ro-dynamic-mod \ +@@ -990,23 +1019,8 @@ modules-names += tst-gnu2-tls1mod $(objpfx)tst-gnu2-tls1: $(objpfx)tst-gnu2-tls1mod.so tst-gnu2-tls1mod.so-no-z-defs = yes CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=gnu2 @@ -453,7 +657,7 @@ index fd77d0c7c8..cea9c1b29d 100644 ifeq (yes,$(have-protected-data)) modules-names += tst-protected1moda tst-protected1modb tests += tst-protected1a tst-protected1b -@@ -2410,6 +2406,11 @@ $(objpfx)tst-ldconfig-X.out : tst-ldconfig-X.sh $(objpfx)ldconfig +@@ -2410,6 +2424,11 @@ $(objpfx)tst-ldconfig-X.out : tst-ldconfig-X.sh $(objpfx)ldconfig '$(run-program-env)' > $@; \ $(evaluate-test) @@ -465,7 +669,7 @@ index fd77d0c7c8..cea9c1b29d 100644 # Test static linking of all the libraries we can possibly link # together. Note that in some configurations this may be less than the # complete list of libraries we build but we try to maxmimize this list. -@@ -2967,3 +2968,25 @@ $(objpfx)tst-tls-allocation-failure-static-patched.out: \ +@@ -2967,3 +2986,33 @@ $(objpfx)tst-tls-allocation-failure-static-patched.out: \ grep -q '^Fatal glibc error: Cannot allocate TLS block$$' $@ \ && grep -q '^status: 127$$' $@; \ $(evaluate-test) @@ -491,6 +695,27 @@ index fd77d0c7c8..cea9c1b29d 100644 +$(objpfx)tst-dlmopen-twice.out: \ + $(objpfx)tst-dlmopen-twice-mod1.so \ + $(objpfx)tst-dlmopen-twice-mod2.so ++ ++$(objpfx)tst-recursive-tls: $(objpfx)tst-recursive-tlsmallocmod.so ++# More objects than DTV_SURPLUS, to trigger DTV reallocation. ++$(objpfx)tst-recursive-tls.out: \ ++ $(patsubst %,$(objpfx)tst-recursive-tlsmod%.so, \ ++ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) ++$(objpfx)tst-recursive-tlsmod%.os: tst-recursive-tlsmodN.c ++ $(compile-command.c) -DVAR=thread_$* -DFUNC=get_threadvar_$* +diff --git a/elf/cache.c b/elf/cache.c +index 3d7d3a67bf..528a8ba694 100644 +--- a/elf/cache.c ++++ b/elf/cache.c +@@ -845,7 +845,7 @@ struct aux_cache_entry + struct aux_cache_entry *next; + }; + +-#define AUX_CACHEMAGIC "glibc-ld.so.auxcache-1.0" ++#define AUX_CACHEMAGIC "glibc-ld.so.auxcache-2.0" + + struct aux_cache_file_entry + { diff --git a/elf/dl-cache.c b/elf/dl-cache.c index 8bbf110d02..b97c17b3a9 100644 --- a/elf/dl-cache.c @@ -564,7 +789,7 @@ index 0000000000..9e7ba10fa2 + DL_CALL_DT_FINI (map, ((void *) map->l_addr + fini->d_un.d_ptr)); +} diff --git a/elf/dl-close.c b/elf/dl-close.c -index bcd6e206e9..14deca2e2b 100644 +index bcd6e206e9..ef909d8c66 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -36,11 +36,6 @@ @@ -630,6 +855,15 @@ index bcd6e206e9..14deca2e2b 100644 #ifdef SHARED /* Auditing checkpoint: we remove an object. */ +@@ -743,7 +703,7 @@ _dl_close_worker (struct link_map *map, bool force) + if (__glibc_unlikely (newgen == 0)) + _dl_fatal_printf ("TLS generation counter wrapped! Please report as described in "REPORT_BUGS_TO".\n"); + /* Can be read concurrently. */ +- atomic_store_relaxed (&GL(dl_tls_generation), newgen); ++ atomic_store_release (&GL(dl_tls_generation), newgen); + + if (tls_free_end == GL(dl_tls_static_used)) + GL(dl_tls_static_used) = tls_free_start; diff --git a/elf/dl-find_object.c b/elf/dl-find_object.c index 4d5831b6f4..2e5b456c11 100644 --- a/elf/dl-find_object.c @@ -785,9 +1019,38 @@ index 4c86dc694e..67fb2e31e2 100644 return LOOKUP_VALUE (current_value.m); } diff --git a/elf/dl-open.c b/elf/dl-open.c -index a23e65926b..e7db5e9642 100644 +index a23e65926b..734a0bee4e 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c +@@ -405,7 +405,7 @@ update_tls_slotinfo (struct link_map *new) + _dl_fatal_printf (N_("\ + TLS generation counter wrapped! Please report this.")); + /* Can be read concurrently. */ +- atomic_store_relaxed (&GL(dl_tls_generation), newgen); ++ atomic_store_release (&GL(dl_tls_generation), newgen); + + /* We need a second pass for static tls data, because + _dl_update_slotinfo must not be run while calls to +@@ -422,8 +422,8 @@ TLS generation counter wrapped! Please report this.")); + now, but we can delay updating the DTV. */ + imap->l_need_tls_init = 0; + #ifdef SHARED +- /* Update the slot information data for at least the +- generation of the DSO we are allocating data for. */ ++ /* Update the slot information data for the current ++ generation. */ + + /* FIXME: This can terminate the process on memory + allocation failure. It is not possible to raise +@@ -431,7 +431,7 @@ TLS generation counter wrapped! Please report this.")); + _dl_update_slotinfo would have to be split into two + operations, similar to resize_scopes and update_scopes + above. This is related to bug 16134. */ +- _dl_update_slotinfo (imap->l_tls_modid); ++ _dl_update_slotinfo (imap->l_tls_modid, newgen); + #endif + + dl_init_static_tls (imap); @@ -850,6 +850,7 @@ no more namespaces available for dlmopen()")); ++GL(dl_nns); } @@ -796,6 +1059,25 @@ index a23e65926b..e7db5e9642 100644 _dl_debug_update (nsid)->r_state = RT_CONSISTENT; } /* Never allow loading a DSO in a namespace which is empty. Such +diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c +index 756bf950f6..88816a715f 100644 +--- a/elf/dl-reloc.c ++++ b/elf/dl-reloc.c +@@ -112,11 +112,11 @@ _dl_try_allocate_static_tls (struct link_map *map, bool optional) + if (map->l_real->l_relocated) + { + #ifdef SHARED ++ /* Update the DTV of the current thread. Note: GL(dl_load_tls_lock) ++ is held here so normal load of the generation counter is valid. */ + if (__builtin_expect (THREAD_DTV()[0].counter != GL(dl_tls_generation), + 0)) +- /* Update the slot information data for at least the generation of +- the DSO we are allocating data for. */ +- (void) _dl_update_slotinfo (map->l_tls_modid); ++ (void) _dl_update_slotinfo (map->l_tls_modid, GL(dl_tls_generation)); + #endif + + dl_init_static_tls (map); diff --git a/elf/dl-sort-maps.c b/elf/dl-sort-maps.c index 96638d7ed1..3e2a6a584e 100644 --- a/elf/dl-sort-maps.c @@ -956,10 +1238,42 @@ index 4af0b5b2ce..f45b630ba5 100644 call_function_static_weak (_dl_find_object_init); diff --git a/elf/dl-tls.c b/elf/dl-tls.c -index 093cdddb7e..bf0ff0d9e8 100644 +index 093cdddb7e..c6c2137092 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c -@@ -160,6 +160,7 @@ _dl_assign_tls_modid (struct link_map *l) +@@ -75,6 +75,31 @@ + /* Default for dl_tls_static_optional. */ + #define OPTIONAL_TLS 512 + ++/* Used to count the number of threads currently executing dynamic TLS ++ updates. Used to avoid recursive malloc calls in __tls_get_addr ++ for an interposed malloc that uses global-dynamic TLS (which is not ++ recommended); see _dl_tls_allocate_active checks. This could be a ++ per-thread flag, but would need TLS access in the dynamic linker. */ ++unsigned int _dl_tls_threads_in_update; ++ ++static inline void ++_dl_tls_allocate_begin (void) ++{ ++ atomic_fetch_add_relaxed (&_dl_tls_threads_in_update, 1); ++} ++ ++static inline void ++_dl_tls_allocate_end (void) ++{ ++ atomic_fetch_add_relaxed (&_dl_tls_threads_in_update, -1); ++} ++ ++static inline bool ++_dl_tls_allocate_active (void) ++{ ++ return atomic_load_relaxed (&_dl_tls_threads_in_update) > 0; ++} ++ + /* Compute the static TLS surplus based on the namespace count and the + TLS space that can be used for optimizations. */ + static inline int +@@ -160,6 +185,7 @@ _dl_assign_tls_modid (struct link_map *l) { /* Mark the entry as used, so any dependency see it. */ atomic_store_relaxed (&runp->slotinfo[result - disp].map, l); @@ -967,6 +1281,331 @@ index 093cdddb7e..bf0ff0d9e8 100644 break; } +@@ -430,12 +456,18 @@ _dl_allocate_tls_storage (void) + size += TLS_PRE_TCB_SIZE; + #endif + +- /* Perform the allocation. Reserve space for the required alignment +- and the pointer to the original allocation. */ ++ /* Reserve space for the required alignment and the pointer to the ++ original allocation. */ + size_t alignment = GLRO (dl_tls_static_align); ++ ++ /* Perform the allocation. */ ++ _dl_tls_allocate_begin (); + void *allocated = malloc (size + alignment + sizeof (void *)); + if (__glibc_unlikely (allocated == NULL)) +- return NULL; ++ { ++ _dl_tls_allocate_end (); ++ return NULL; ++ } + + /* Perform alignment and allocate the DTV. */ + #if TLS_TCB_AT_TP +@@ -471,6 +503,8 @@ _dl_allocate_tls_storage (void) + result = allocate_dtv (result); + if (result == NULL) + free (allocated); ++ ++ _dl_tls_allocate_end (); + return result; + } + +@@ -488,6 +522,7 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid) + size_t newsize = max_modid + DTV_SURPLUS; + size_t oldsize = dtv[-1].counter; + ++ _dl_tls_allocate_begin (); + if (dtv == GL(dl_initial_dtv)) + { + /* This is the initial dtv that was either statically allocated in +@@ -507,6 +542,7 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid) + if (newp == NULL) + oom (); + } ++ _dl_tls_allocate_end (); + + newp[0].counter = newsize; + +@@ -681,7 +717,9 @@ allocate_dtv_entry (size_t alignment, size_t size) + if (powerof2 (alignment) && alignment <= _Alignof (max_align_t)) + { + /* The alignment is supported by malloc. */ ++ _dl_tls_allocate_begin (); + void *ptr = malloc (size); ++ _dl_tls_allocate_end (); + return (struct dtv_pointer) { ptr, ptr }; + } + +@@ -693,7 +731,10 @@ allocate_dtv_entry (size_t alignment, size_t size) + + /* Perform the allocation. This is the pointer we need to free + later. */ ++ _dl_tls_allocate_begin (); + void *start = malloc (alloc_size); ++ _dl_tls_allocate_end (); ++ + if (start == NULL) + return (struct dtv_pointer) {}; + +@@ -721,57 +762,57 @@ allocate_and_init (struct link_map *map) + + + struct link_map * +-_dl_update_slotinfo (unsigned long int req_modid) ++_dl_update_slotinfo (unsigned long int req_modid, size_t new_gen) + { + struct link_map *the_map = NULL; + dtv_t *dtv = THREAD_DTV (); + +- /* The global dl_tls_dtv_slotinfo array contains for each module +- index the generation counter current when the entry was created. ++ /* CONCURRENCY NOTES: ++ ++ The global dl_tls_dtv_slotinfo_list array contains for each module ++ index the generation counter current when that entry was updated. + This array never shrinks so that all module indices which were +- valid at some time can be used to access it. Before the first +- use of a new module index in this function the array was extended +- appropriately. Access also does not have to be guarded against +- modifications of the array. It is assumed that pointer-size +- values can be read atomically even in SMP environments. It is +- possible that other threads at the same time dynamically load +- code and therefore add to the slotinfo list. This is a problem +- since we must not pick up any information about incomplete work. +- The solution to this is to ignore all dtv slots which were +- created after the one we are currently interested. We know that +- dynamic loading for this module is completed and this is the last +- load operation we know finished. */ +- unsigned long int idx = req_modid; ++ valid at some time can be used to access it. Concurrent loading ++ and unloading of modules can update slotinfo entries or extend ++ the array. The updates happen under the GL(dl_load_tls_lock) and ++ finish with the release store of the generation counter to ++ GL(dl_tls_generation) which is synchronized with the load of ++ new_gen in the caller. So updates up to new_gen are synchronized ++ but updates for later generations may not be. ++ ++ Here we update the thread dtv from old_gen (== dtv[0].counter) to ++ new_gen generation. For this, each dtv[i] entry is either set to ++ an unallocated state (set), or left unmodified (nop). Where (set) ++ may resize the dtv first if modid i >= dtv[-1].counter. The rules ++ for the decision between (set) and (nop) are ++ ++ (1) If slotinfo entry i is concurrently updated then either (set) ++ or (nop) is valid: TLS access cannot use dtv[i] unless it is ++ synchronized with a generation > new_gen. ++ ++ Otherwise, if the generation of slotinfo entry i is gen and the ++ loaded module for this entry is map then ++ ++ (2) If gen <= old_gen then do (nop). ++ ++ (3) If old_gen < gen <= new_gen then ++ (3.1) if map != 0 then (set) ++ (3.2) if map == 0 then either (set) or (nop). ++ ++ Note that (1) cannot be reliably detected, but since both actions ++ are valid it does not have to be. Only (2) and (3.1) cases need ++ to be distinguished for which relaxed mo access of gen and map is ++ enough: their value is synchronized when it matters. ++ ++ Note that a relaxed mo load may give an out-of-thin-air value since ++ it is used in decisions that can affect concurrent stores. But this ++ should only happen if the OOTA value causes UB that justifies the ++ concurrent store of the value. This is not expected to be an issue ++ in practice. */ + struct dtv_slotinfo_list *listp = GL(dl_tls_dtv_slotinfo_list); + +- while (idx >= listp->len) +- { +- idx -= listp->len; +- listp = listp->next; +- } +- +- if (dtv[0].counter < listp->slotinfo[idx].gen) ++ if (dtv[0].counter < new_gen) + { +- /* CONCURRENCY NOTES: +- +- Here the dtv needs to be updated to new_gen generation count. +- +- This code may be called during TLS access when GL(dl_load_tls_lock) +- is not held. In that case the user code has to synchronize with +- dlopen and dlclose calls of relevant modules. A module m is +- relevant if the generation of m <= new_gen and dlclose of m is +- synchronized: a memory access here happens after the dlopen and +- before the dlclose of relevant modules. The dtv entries for +- relevant modules need to be updated, other entries can be +- arbitrary. +- +- This e.g. means that the first part of the slotinfo list can be +- accessed race free, but the tail may be concurrently extended. +- Similarly relevant slotinfo entries can be read race free, but +- other entries are racy. However updating a non-relevant dtv +- entry does not affect correctness. For a relevant module m, +- max_modid >= modid of m. */ +- size_t new_gen = listp->slotinfo[idx].gen; + size_t total = 0; + size_t max_modid = atomic_load_relaxed (&GL(dl_tls_max_dtv_idx)); + assert (max_modid >= req_modid); +@@ -784,31 +825,33 @@ _dl_update_slotinfo (unsigned long int req_modid) + { + size_t modid = total + cnt; + +- /* Later entries are not relevant. */ ++ /* Case (1) for all later modids. */ + if (modid > max_modid) + break; + + size_t gen = atomic_load_relaxed (&listp->slotinfo[cnt].gen); + ++ /* Case (1). */ + if (gen > new_gen) +- /* Not relevant. */ + continue; + +- /* If the entry is older than the current dtv layout we +- know we don't have to handle it. */ ++ /* Case (2) or (1). */ + if (gen <= dtv[0].counter) + continue; + ++ /* Case (3) or (1). */ ++ + /* If there is no map this means the entry is empty. */ + struct link_map *map + = atomic_load_relaxed (&listp->slotinfo[cnt].map); + /* Check whether the current dtv array is large enough. */ + if (dtv[-1].counter < modid) + { ++ /* Case (3.2) or (1). */ + if (map == NULL) + continue; + +- /* Resize the dtv. */ ++ /* Resizing the dtv aborts on failure: bug 16134. */ + dtv = _dl_resize_dtv (dtv, max_modid); + + assert (modid <= dtv[-1].counter); +@@ -819,10 +862,21 @@ _dl_update_slotinfo (unsigned long int req_modid) + } + + /* If there is currently memory allocate for this +- dtv entry free it. */ ++ dtv entry free it. Note: this is not AS-safe. */ + /* XXX Ideally we will at some point create a memory + pool. */ +- free (dtv[modid].pointer.to_free); ++ /* Avoid calling free on a null pointer. Some mallocs ++ incorrectly use dynamic TLS, and depending on how the ++ free function was compiled, it could call ++ __tls_get_addr before the null pointer check in the ++ free implementation. Checking here papers over at ++ least some dynamic TLS usage by interposed mallocs. */ ++ if (dtv[modid].pointer.to_free != NULL) ++ { ++ _dl_tls_allocate_begin (); ++ free (dtv[modid].pointer.to_free); ++ _dl_tls_allocate_end (); ++ } + dtv[modid].pointer.val = TLS_DTV_UNALLOCATED; + dtv[modid].pointer.to_free = NULL; + +@@ -914,9 +968,9 @@ tls_get_addr_tail (GET_ADDR_ARGS, dtv_t *dtv, struct link_map *the_map) + + static struct link_map * + __attribute_noinline__ +-update_get_addr (GET_ADDR_ARGS) ++update_get_addr (GET_ADDR_ARGS, size_t gen) + { +- struct link_map *the_map = _dl_update_slotinfo (GET_ADDR_MODULE); ++ struct link_map *the_map = _dl_update_slotinfo (GET_ADDR_MODULE, gen); + dtv_t *dtv = THREAD_DTV (); + + void *p = dtv[GET_ADDR_MODULE].pointer.val; +@@ -946,12 +1000,29 @@ __tls_get_addr (GET_ADDR_ARGS) + dtv_t *dtv = THREAD_DTV (); + + /* Update is needed if dtv[0].counter < the generation of the accessed +- module. The global generation counter is used here as it is easier +- to check. Synchronization for the relaxed MO access is guaranteed +- by user code, see CONCURRENCY NOTES in _dl_update_slotinfo. */ ++ module, but the global generation counter is easier to check (which ++ must be synchronized up to the generation of the accessed module by ++ user code doing the TLS access so relaxed mo read is enough). */ + size_t gen = atomic_load_relaxed (&GL(dl_tls_generation)); + if (__glibc_unlikely (dtv[0].counter != gen)) +- return update_get_addr (GET_ADDR_PARAM); ++ { ++ if (_dl_tls_allocate_active () ++ && GET_ADDR_MODULE < _dl_tls_initial_modid_limit) ++ /* This is a reentrant __tls_get_addr call, but we can ++ satisfy it because it's an initially-loaded module ID. ++ These TLS slotinfo slots do not change, so the ++ out-of-date generation counter does not matter. However, ++ if not in a TLS update, still update_get_addr below, to ++ get off the slow path eventually. */ ++ ; ++ else ++ { ++ /* Update DTV up to the global generation, see CONCURRENCY NOTES ++ in _dl_update_slotinfo. */ ++ gen = atomic_load_acquire (&GL(dl_tls_generation)); ++ return update_get_addr (GET_ADDR_PARAM, gen); ++ } ++ } + + void *p = dtv[GET_ADDR_MODULE].pointer.val; + +@@ -960,7 +1031,7 @@ __tls_get_addr (GET_ADDR_ARGS) + + return (char *) p + GET_ADDR_OFFSET; + } +-#endif ++#endif /* SHARED */ + + + /* Look up the module's TLS block as for __tls_get_addr, +@@ -1009,6 +1080,25 @@ _dl_tls_get_addr_soft (struct link_map *l) + return data; + } + ++size_t _dl_tls_initial_modid_limit; ++ ++void ++_dl_tls_initial_modid_limit_setup (void) ++{ ++ struct dtv_slotinfo_list *listp = GL(dl_tls_dtv_slotinfo_list); ++ size_t idx; ++ for (idx = 0; idx < listp->len; ++idx) ++ { ++ struct link_map *l = listp->slotinfo[idx].map; ++ if (l == NULL ++ /* The object can be unloaded, so its modid can be ++ reassociated. */ ++ || !(l->l_type == lt_executable || l->l_type == lt_library)) ++ break; ++ } ++ _dl_tls_initial_modid_limit = idx; ++} ++ + + void + _dl_add_to_slotinfo (struct link_map *l, bool do_add) +@@ -1041,9 +1131,11 @@ _dl_add_to_slotinfo (struct link_map *l, bool do_add) + the first slot. */ + assert (idx == 0); + ++ _dl_tls_allocate_begin (); + listp = (struct dtv_slotinfo_list *) + malloc (sizeof (struct dtv_slotinfo_list) + + TLS_SLOTINFO_SURPLUS * sizeof (struct dtv_slotinfo)); ++ _dl_tls_allocate_end (); + if (listp == NULL) + { + /* We ran out of memory while resizing the dtv slotinfo list. */ diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c index 8e7ee9df10..76cf8b9da3 100644 --- a/elf/dl-tunables.c @@ -1165,10 +1804,19 @@ index ca00dd1fe2..3c5e273f2b 100644 else # -s verbose := diff --git a/elf/rtld.c b/elf/rtld.c -index cbbaf4a331..3e771a93d8 100644 +index cbbaf4a331..6e40893e52 100644 --- a/elf/rtld.c +++ b/elf/rtld.c -@@ -2122,6 +2122,12 @@ dl_main (const ElfW(Phdr) *phdr, +@@ -791,6 +791,8 @@ init_tls (size_t naudit) + _dl_fatal_printf ("\ + cannot allocate TLS data structures for initial thread\n"); + ++ _dl_tls_initial_modid_limit_setup (); ++ + /* Store for detection of the special case by __tls_get_addr + so it knows not to pass this dtv to the normal realloc. */ + GL(dl_initial_dtv) = GET_DTV (tcbp); +@@ -2122,6 +2124,12 @@ dl_main (const ElfW(Phdr) *phdr, if (l->l_faked) /* The library was not found. */ _dl_printf ("\t%s => not found\n", l->l_libname->name); @@ -1536,6 +2184,176 @@ index 0000000000..ec937bf4ec +esac + +exit $errors +diff --git a/elf/tst-recursive-tls.c b/elf/tst-recursive-tls.c +new file mode 100644 +index 0000000000..716d1f783a +--- /dev/null ++++ b/elf/tst-recursive-tls.c +@@ -0,0 +1,60 @@ ++/* Test with interposed malloc with dynamic TLS. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <array_length.h> ++#include <stdio.h> ++#include <support/check.h> ++#include <support/xdlfcn.h> ++ ++/* Defined in tst-recursive-tlsmallocmod.so. */ ++extern __thread unsigned int malloc_subsytem_counter; ++ ++static int ++do_test (void) ++{ ++ /* 16 is large enough to exercise the DTV resizing case. */ ++ void *handles[16]; ++ ++ for (unsigned int i = 0; i < array_length (handles); ++i) ++ { ++ /* Re-use the TLS slot for module 0. */ ++ if (i > 0) ++ xdlclose (handles[0]); ++ ++ char soname[30]; ++ snprintf (soname, sizeof (soname), "tst-recursive-tlsmod%u.so", i); ++ handles[i] = xdlopen (soname, RTLD_NOW); ++ ++ if (i > 0) ++ { ++ handles[0] = xdlopen ("tst-recursive-tlsmod0.so", RTLD_NOW); ++ int (*fptr) (void) = xdlsym (handles[0], "get_threadvar_0"); ++ /* May trigger TLS storage allocation using malloc. */ ++ TEST_COMPARE (fptr (), 0); ++ } ++ } ++ ++ for (unsigned int i = 0; i < array_length (handles); ++i) ++ xdlclose (handles[i]); ++ ++ printf ("info: malloc subsystem calls: %u\n", malloc_subsytem_counter); ++ TEST_VERIFY (malloc_subsytem_counter > 0); ++ return 0; ++} ++ ++#include <support/test-driver.c> +diff --git a/elf/tst-recursive-tlsmallocmod.c b/elf/tst-recursive-tlsmallocmod.c +new file mode 100644 +index 0000000000..c24e9945d1 +--- /dev/null ++++ b/elf/tst-recursive-tlsmallocmod.c +@@ -0,0 +1,64 @@ ++/* Interposed malloc with dynamic TLS. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <stdlib.h> ++#include <dlfcn.h> ++ ++__thread unsigned int malloc_subsytem_counter; ++ ++static __typeof (malloc) *malloc_fptr; ++static __typeof (free) *free_fptr; ++static __typeof (calloc) *calloc_fptr; ++static __typeof (realloc) *realloc_fptr; ++ ++static void __attribute__ ((constructor)) ++init (void) ++{ ++ malloc_fptr = dlsym (RTLD_NEXT, "malloc"); ++ free_fptr = dlsym (RTLD_NEXT, "free"); ++ calloc_fptr = dlsym (RTLD_NEXT, "calloc"); ++ realloc_fptr = dlsym (RTLD_NEXT, "realloc"); ++} ++ ++void * ++malloc (size_t size) ++{ ++ ++malloc_subsytem_counter; ++ return malloc_fptr (size); ++} ++ ++void ++free (void *ptr) ++{ ++ ++malloc_subsytem_counter; ++ return free_fptr (ptr); ++} ++ ++void * ++calloc (size_t a, size_t b) ++{ ++ ++malloc_subsytem_counter; ++ return calloc_fptr (a, b); ++} ++ ++void * ++realloc (void *ptr, size_t size) ++{ ++ ++malloc_subsytem_counter; ++ return realloc_fptr (ptr, size); ++} +diff --git a/elf/tst-recursive-tlsmodN.c b/elf/tst-recursive-tlsmodN.c +new file mode 100644 +index 0000000000..bb7592aee6 +--- /dev/null ++++ b/elf/tst-recursive-tlsmodN.c +@@ -0,0 +1,28 @@ ++/* Test module with global-dynamic TLS. Used to trigger DTV reallocation. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++/* Compiled with VAR and FUNC set via -D. FUNC requires some ++ relocation against TLS variable VAR. */ ++ ++__thread int VAR; ++ ++int ++FUNC (void) ++{ ++ return VAR; ++} diff --git a/elf/tst-stackguard1.c b/elf/tst-stackguard1.c index 050784319a..98625632dc 100644 --- a/elf/tst-stackguard1.c @@ -3888,7 +4706,7 @@ index 90187e30b1..5b9dd50151 100644 if ((flags & NO_CACHE) == 0) *dir = nis_server_cache_search (name, search_parent, &server_used, diff --git a/nptl/descr.h b/nptl/descr.h -index 5cacb286f3..ff634dac33 100644 +index 5cacb286f3..bbb26607ef 100644 --- a/nptl/descr.h +++ b/nptl/descr.h @@ -34,7 +34,6 @@ @@ -3899,7 +4717,7 @@ index 5cacb286f3..ff634dac33 100644 #include <internal-sigset.h> #ifndef TCB_ALIGNMENT -@@ -402,14 +401,25 @@ struct pthread +@@ -402,14 +401,27 @@ struct pthread /* Used on strsignal. */ struct tls_internal_t tls_state; @@ -3919,6 +4737,8 @@ index 5cacb286f3..ff634dac33 100644 + { + uint32_t cpu_id_start; + uint32_t cpu_id; ++ uint64_t rseq_cs; ++ uint32_t flags; + }; + char pad[32]; /* Original rseq area size. */ + } rseq_area __attribute__ ((aligned (32))); @@ -3946,6 +4766,101 @@ index 903457db76..1c80457553 100644 /* This call should never return. */ return NULL; } +diff --git a/nptl/tst-setuid2.c b/nptl/tst-setuid2.c +index aff3b1a97d..9b7799991c 100644 +--- a/nptl/tst-setuid2.c ++++ b/nptl/tst-setuid2.c +@@ -20,6 +20,7 @@ + #include <signal.h> + #include <stdbool.h> + #include <stdio.h> ++#include <support/xthread.h> + #include <sys/syscall.h> + #include <unistd.h> + +@@ -36,30 +37,21 @@ static pthread_cond_t cond_recv; + static void * + thread_func (void *ctx __attribute__ ((unused))) + { +- int ret = pthread_mutex_lock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_lock (thread): %d", ret); +- ++ xpthread_mutex_lock (&mutex); + while (true) + { + if (func_sent != NULL) + { + void (*func) (void) = func_sent; +- ret = pthread_mutex_unlock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_unlock (thread): %d", ret); ++ xpthread_mutex_unlock (&mutex); ++ + func (); +- ret = pthread_mutex_lock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_lock (thread): %d", ret); ++ ++ xpthread_mutex_lock (&mutex); + func_sent = NULL; +- ret = pthread_cond_signal (&cond_recv); +- if (ret != 0) +- FAIL ("pthread_cond_signal (recv): %d", ret); ++ xpthread_cond_signal (&cond_recv); + } +- ret = pthread_cond_wait (&cond_send, &mutex); +- if (ret != 0) +- FAIL ("pthread_cond_wait (send): %d", ret); ++ xpthread_cond_wait (&cond_send, &mutex); + } + return NULL; + } +@@ -67,31 +59,18 @@ thread_func (void *ctx __attribute__ ((unused))) + static void + run_on_thread (void (*func) (void)) + { +- int ret = pthread_mutex_lock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_lock (%s): %d", __func__, ret); ++ xpthread_mutex_lock (&mutex); + func_sent = func; +- ret = pthread_mutex_unlock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_unlock (%s): %d", __func__, ret); ++ xpthread_mutex_unlock (&mutex); + +- ret = pthread_cond_signal (&cond_send); +- if (ret != 0) +- FAIL ("pthread_mutex_lock (%s): %d", __func__, ret); +- +- ret = pthread_mutex_lock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_lock (%s): %d", __func__, ret); ++ xpthread_cond_signal (&cond_send); + ++ xpthread_mutex_lock (&mutex); + while (func_sent != NULL) + { +- ret = pthread_cond_wait (&cond_recv, &mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_wait (%s): %d", __func__, ret); ++ xpthread_cond_wait (&cond_recv, &mutex); + } +- ret = pthread_mutex_unlock (&mutex); +- if (ret != 0) +- FAIL ("pthread_mutex_unlock (%s): %d", __func__, ret); ++ xpthread_mutex_unlock (&mutex); + } + + static void +@@ -141,5 +120,4 @@ do_test (void) + return 0; + } + +-#define TEST_FUNCTION do_test () +-#include "../test-skeleton.c" ++#include <support/test-driver.c> diff --git a/nptl/tst-stackguard1.c b/nptl/tst-stackguard1.c index 3460c01819..bc8900ce22 100644 --- a/nptl/tst-stackguard1.c @@ -9549,7 +10464,7 @@ index 1344b2b591..388b202493 100644 + +#include <support/test-driver.c> diff --git a/stdlib/Makefile b/stdlib/Makefile -index f7b25c1981..3d49c4941a 100644 +index f7b25c1981..2da3030efc 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -171,6 +171,7 @@ tests := \ @@ -9560,6 +10475,14 @@ index f7b25c1981..3d49c4941a 100644 test-bz22786 \ test-canon \ test-canon2 \ +@@ -221,6 +222,7 @@ tests := \ + tst-setcontext7 \ + tst-setcontext8 \ + tst-setcontext9 \ ++ tst-setenv-environ \ + tst-strfmon_l \ + tst-strfrom \ + tst-strfrom-locale \ diff --git a/stdlib/arc4random.c b/stdlib/arc4random.c index e417ef624d..960a38f295 100644 --- a/stdlib/arc4random.c @@ -9728,6 +10651,48 @@ index 0000000000..0596b9763b + +#define TEST_FUNCTION do_test +#include <support/test-driver.c> +diff --git a/stdlib/tst-setenv-environ.c b/stdlib/tst-setenv-environ.c +new file mode 100644 +index 0000000000..02fcef96d0 +--- /dev/null ++++ b/stdlib/tst-setenv-environ.c +@@ -0,0 +1,36 @@ ++/* Test using setenv with updated environ. ++ Copyright (C) 2025 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <stdlib.h> ++#include <support/check.h> ++ ++extern char **environ; ++ ++int ++do_test (void) ++{ ++ char *valp; ++ static char *dummy_environ[] = { NULL }; ++ environ = dummy_environ; ++ setenv ("A", "1", 0); ++ valp = getenv ("A"); ++ TEST_VERIFY_EXIT (valp[0] == '1' && valp[1] == '\0'); ++ return 0; ++} ++ ++#include <support/test-driver.c> diff --git a/stdlib/tst-system.c b/stdlib/tst-system.c index f7fa74b2a6..5e0c79475f 100644 --- a/stdlib/tst-system.c @@ -9897,7 +10862,7 @@ index bf7f0b81c4..c1d1c43e50 100644 if (netname[i - 1] == '.') netname[i - 1] = '\0'; diff --git a/support/Makefile b/support/Makefile -index 9b50eac117..7c572fbe4a 100644 +index 9b50eac117..c8c1363b76 100644 --- a/support/Makefile +++ b/support/Makefile @@ -32,6 +32,8 @@ libsupport-routines = \ @@ -9909,7 +10874,15 @@ index 9b50eac117..7c572fbe4a 100644 ignore_stderr \ next_to_fault \ oom_error \ -@@ -205,6 +207,7 @@ libsupport-routines = \ +@@ -159,6 +161,7 @@ libsupport-routines = \ + xpthread_cancel \ + xpthread_check_return \ + xpthread_cond_wait \ ++ xpthread_cond_signal \ + xpthread_create \ + xpthread_detach \ + xpthread_join \ +@@ -205,6 +208,7 @@ libsupport-routines = \ xstrndup \ xsymlink \ xsysconf \ @@ -9917,7 +10890,7 @@ index 9b50eac117..7c572fbe4a 100644 xunlink \ xuselocale \ xwaitpid \ -@@ -237,6 +240,24 @@ CFLAGS-support_paths.c = \ +@@ -237,6 +241,24 @@ CFLAGS-support_paths.c = \ CFLAGS-timespec.c += -fexcess-precision=standard CFLAGS-timespec-time64.c += -fexcess-precision=standard @@ -10191,6 +11164,38 @@ index 4d2ac2737d..1bba3a6837 100644 #endif /* Check that the timespec on the left represents a time before the +diff --git a/support/xpthread_cond_signal.c b/support/xpthread_cond_signal.c +new file mode 100644 +index 0000000000..ed0be1a8ab +--- /dev/null ++++ b/support/xpthread_cond_signal.c +@@ -0,0 +1,26 @@ ++/* pthread_cond_signal with error checking. ++ Copyright (C) 2022 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <support/xthread.h> ++ ++void ++xpthread_cond_signal (pthread_cond_t *cond) ++{ ++ xpthread_check_return ++ ("pthread_cond_signal", pthread_cond_signal (cond)); ++} diff --git a/support/xstdlib.h b/support/xstdlib.h new file mode 100644 index 0000000000..db5a5b9d4f @@ -10271,6 +11276,18 @@ index 0000000000..1f558953bc + if (ret < 0) + FAIL_EXIT1 ("system (\"%s\")", cmd); +} +diff --git a/support/xthread.h b/support/xthread.h +index af06715f46..ae09649325 100644 +--- a/support/xthread.h ++++ b/support/xthread.h +@@ -62,6 +62,7 @@ void xpthread_mutex_consistent (pthread_mutex_t *); + void xpthread_spin_lock (pthread_spinlock_t *lock); + void xpthread_spin_unlock (pthread_spinlock_t *lock); + void xpthread_cond_wait (pthread_cond_t * cond, pthread_mutex_t * mutex); ++void xpthread_cond_signal (pthread_cond_t *cond); + pthread_t xpthread_create (pthread_attr_t *attr, + void *(*thread_func) (void *), void *closure); + void xpthread_detach (pthread_t thr); diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure old mode 100644 new mode 100755 @@ -13343,7 +14360,7 @@ index 0000000000..8f21ebe1b6 +#define UTMP_SIZE 384 +#define LASTLOG_SIZE 292 diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h -index 050a3032de..c2627fced7 100644 +index 050a3032de..17bd399888 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -105,6 +105,9 @@ typedef struct link_map *lookup_t; @@ -13375,6 +14392,32 @@ index 050a3032de..c2627fced7 100644 /* The dynamic linker calls this function before and having changing any shared object mappings. The `r_state' member of `struct r_debug' +@@ -1257,9 +1267,24 @@ extern void _dl_add_to_slotinfo (struct link_map *l, bool do_add) + + /* Update slot information data for at least the generation of the + module with the given index. */ +-extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid) ++extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid, ++ size_t gen) + attribute_hidden; + ++/* The last TLS module ID that is initially loaded, plus 1. TLS ++ addresses for modules with IDs lower than that can be obtained from ++ the DTV even if its generation is outdated. */ ++extern size_t _dl_tls_initial_modid_limit attribute_hidden attribute_relro; ++ ++/* Compute _dl_tls_initial_modid_limit. To be called after initial ++ relocation. */ ++void _dl_tls_initial_modid_limit_setup (void) attribute_hidden; ++ ++/* Number of threads currently in a TLS update. This is used to ++ detect reentrant __tls_get_addr calls without a per-thread ++ flag. */ ++extern unsigned int _dl_tls_threads_in_update attribute_hidden; ++ + /* Look up the module's TLS block as for __tls_get_addr, + but never touch anything. Return null if it's not allocated yet. */ + extern void *_dl_tls_get_addr_soft (struct link_map *l) attribute_hidden; diff --git a/sysdeps/generic/libc-lock-arch.h b/sysdeps/generic/libc-lock-arch.h new file mode 100644 index 0000000000..4713b30a8a @@ -13525,6 +14568,45 @@ index 0000000000..8f21ebe1b6 @@ -0,0 +1,2 @@ +#define UTMP_SIZE 384 +#define LASTLOG_SIZE 292 +diff --git a/sysdeps/ieee754/dbl-64/s_expm1.c b/sysdeps/ieee754/dbl-64/s_expm1.c +index 8f1c95bd04..1cafeca9c0 100644 +--- a/sysdeps/ieee754/dbl-64/s_expm1.c ++++ b/sysdeps/ieee754/dbl-64/s_expm1.c +@@ -130,6 +130,11 @@ static const double + 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ + -2.01099218183624371326e-07 }; /* BE8AFDB7 6E09C32D */ + ++#ifndef SECTION ++# define SECTION ++#endif ++ ++SECTION + double + __expm1 (double x) + { +@@ -258,4 +263,6 @@ __expm1 (double x) + } + return y; + } ++#ifndef __expm1 + libm_alias_double (__expm1, expm1) ++#endif +diff --git a/sysdeps/ieee754/dbl-64/s_log1p.c b/sysdeps/ieee754/dbl-64/s_log1p.c +index e6476a8260..eeb0af859f 100644 +--- a/sysdeps/ieee754/dbl-64/s_log1p.c ++++ b/sysdeps/ieee754/dbl-64/s_log1p.c +@@ -99,6 +99,11 @@ static const double + + static const double zero = 0.0; + ++#ifndef SECTION ++# define SECTION ++#endif ++ ++SECTION + double + __log1p (double x) + { diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c index 54c457681a..9a9c5c6f00 100644 --- a/sysdeps/ieee754/ldbl-128/e_j1l.c @@ -14022,6 +15104,29 @@ index bcff909b2f..f975dcd2bc 100644 return result; } +diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c +index 2ee0010b8d..dfa0780514 100644 +--- a/sysdeps/posix/libc_fatal.c ++++ b/sysdeps/posix/libc_fatal.c +@@ -20,6 +20,7 @@ + #include <errno.h> + #include <fcntl.h> + #include <ldsodefs.h> ++#include <libc-pointer-arith.h> + #include <paths.h> + #include <stdarg.h> + #include <stdbool.h> +@@ -125,8 +126,8 @@ __libc_message (enum __libc_message_action action, const char *fmt, ...) + + if ((action & do_abort)) + { +- total = ((total + 1 + GLRO(dl_pagesize) - 1) +- & ~(GLRO(dl_pagesize) - 1)); ++ total = ALIGN_UP (total + sizeof (struct abort_msg_s) + 1, ++ GLRO(dl_pagesize)); + struct abort_msg_s *buf = __mmap (NULL, total, + PROT_READ | PROT_WRITE, + MAP_ANON | MAP_PRIVATE, -1, 0); diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c index 8014f63355..20c9420dd4 100644 --- a/sysdeps/posix/system.c @@ -16118,10 +17223,10 @@ index d656aedcc2..4e65f337d4 100644 #define __NR_mincore 232 #define __NR_mkdirat 34 diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h -index 210f3ec566..f08a70dfc4 100644 +index 210f3ec566..1aa63eca67 100644 --- a/sysdeps/unix/sysv/linux/rseq-internal.h +++ b/sysdeps/unix/sysv/linux/rseq-internal.h -@@ -25,15 +25,34 @@ +@@ -25,18 +25,48 @@ #include <stdio.h> #include <sys/rseq.h> @@ -16151,6 +17256,15 @@ index 210f3ec566..f08a70dfc4 100644 + /* The initial implementation used only 20 bytes out of 32, + but still expected size 32. */ + size = RSEQ_AREA_SIZE_INITIAL; ++ ++ /* Initialize the rseq fields that are read by the kernel on ++ registration, there is no guarantee that struct pthread is ++ cleared on all architectures. */ ++ THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_UNINITIALIZED); ++ THREAD_SETMEM (self, rseq_area.cpu_id_start, 0); ++ THREAD_SETMEM (self, rseq_area.rseq_cs, 0); ++ THREAD_SETMEM (self, rseq_area.flags, 0); ++ int ret = INTERNAL_SYSCALL_CALL (rseq, &self->rseq_area, - sizeof (self->rseq_area), - 0, RSEQ_SIG); @@ -16158,6 +17272,11 @@ index 210f3ec566..f08a70dfc4 100644 if (!INTERNAL_SYSCALL_ERROR_P (ret)) return true; } ++ /* When rseq is disabled by tunables or the registration fails, inform ++ userspace by setting 'cpu_id' to RSEQ_CPU_ID_REGISTRATION_FAILED. */ + THREAD_SETMEM (self, rseq_area.cpu_id, RSEQ_CPU_ID_REGISTRATION_FAILED); + return false; + } diff --git a/sysdeps/unix/sysv/linux/sched_getcpu.c b/sysdeps/unix/sysv/linux/sched_getcpu.c index 5c3301004c..3a2f712386 100644 --- a/sysdeps/unix/sysv/linux/sched_getcpu.c @@ -16963,6 +18082,174 @@ index fa6a89541f..613593f7f9 100644 do_rseq_main_test (); } #else /* RSEQ_SIG */ +diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile +index 56fd5fc805..d680a92695 100644 +--- a/sysdeps/x86/Makefile ++++ b/sysdeps/x86/Makefile +@@ -10,38 +10,53 @@ sysdep_headers += sys/platform/x86.h bits/platform/x86.h + CFLAGS-dl-get-cpu-features.os += $(rtld-early-cflags) + CFLAGS-get-cpuid-feature-leaf.o += $(no-stack-protector) + +-tests += tst-get-cpu-features tst-get-cpu-features-static \ +- tst-cpu-features-cpuinfo tst-cpu-features-cpuinfo-static \ +- tst-cpu-features-supports tst-cpu-features-supports-static +-tests-static += tst-get-cpu-features-static \ +- tst-cpu-features-cpuinfo-static \ +- tst-cpu-features-supports-static ++tests += \ ++ tst-get-cpu-features \ ++ tst-get-cpu-features-static \ ++ tst-cpu-features-cpuinfo \ ++ tst-cpu-features-cpuinfo-static \ ++ tst-cpu-features-supports \ ++ tst-cpu-features-supports-static \ ++# tests ++tests-static += \ ++ tst-get-cpu-features-static \ ++ tst-cpu-features-cpuinfo-static \ ++ tst-cpu-features-supports-static \ ++# tests-static + ifeq (yes,$(have-ifunc)) + ifeq (yes,$(have-gcc-ifunc)) + tests += \ + tst-ifunc-isa-1 \ +- tst-ifunc-isa-1-static ++ tst-ifunc-isa-1-static \ ++# tests + tests-static += \ +- tst-ifunc-isa-1-static ++ tst-ifunc-isa-1-static \ ++# tests-static + test-xfail-tst-ifunc-isa-1 = $(with-lld) + test-xfail-tst-ifunc-isa-1-static = $(with-lld) + ifneq ($(have-tunables),no) + tests += \ + tst-ifunc-isa-2 \ +- tst-ifunc-isa-2-static ++ tst-ifunc-isa-2-static \ ++# tests + tests-static += \ +- tst-ifunc-isa-2-static ++ tst-ifunc-isa-2-static \ ++# tests-static + test-xfail-tst-ifunc-isa-2 = $(with-lld) + test-xfail-tst-ifunc-isa-2-static = $(with-lld) + endif + endif + endif + ifeq (yes,$(enable-x86-isa-level)) +-tests += tst-isa-level-1 +-modules-names += tst-isa-level-mod-1-baseline \ +- tst-isa-level-mod-1-v2 \ +- tst-isa-level-mod-1-v3 \ +- tst-isa-level-mod-1-v4 \ ++tests += \ ++ tst-isa-level-1 \ ++# tests ++modules-names += \ ++ tst-isa-level-mod-1-baseline \ ++ tst-isa-level-mod-1-v2 \ ++ tst-isa-level-mod-1-v3 \ ++ tst-isa-level-mod-1-v4 \ ++# modules-names + + # X86 ISA level baseline + CFLAGS-tst-isa-level-mod-1-baseline.c += -DINCLUDE_X86_ISA_LEVEL \ +@@ -72,7 +87,9 @@ endif + endif + + ifeq ($(subdir),math) +-tests += tst-ldbl-nonnormal-printf ++tests += \ ++ tst-ldbl-nonnormal-printf \ ++# tests + endif # $(subdir) == math + + ifeq ($(subdir),setjmp) +@@ -80,7 +97,9 @@ gen-as-const-headers += jmp_buf-ssp.sym + sysdep_routines += __longjmp_cancel + ifneq ($(enable-cet),no) + ifneq ($(have-tunables),no) +-tests += tst-setjmp-cet ++tests += \ ++ tst-setjmp-cet \ ++# tests + tst-setjmp-cet-ENV = GLIBC_TUNABLES=glibc.cpu.x86_ibt=on:glibc.cpu.x86_shstk=on + endif + endif +@@ -128,22 +147,47 @@ ifneq ($(enable-cet),no) + ifeq ($(subdir),elf) + sysdep-dl-routines += dl-cet + +-tests += tst-cet-legacy-1 tst-cet-legacy-1a tst-cet-legacy-2 \ +- tst-cet-legacy-2a tst-cet-legacy-3 tst-cet-legacy-4 \ +- tst-cet-legacy-5a tst-cet-legacy-6a tst-cet-legacy-7 \ +- tst-cet-legacy-8 tst-cet-legacy-9 tst-cet-legacy-9-static \ +- tst-cet-legacy-10 tst-cet-legacy-10-static +-tests-static += tst-cet-legacy-9-static tst-cet-legacy-10-static ++tests += \ ++ tst-cet-legacy-1 \ ++ tst-cet-legacy-1a \ ++ tst-cet-legacy-2 \ ++ tst-cet-legacy-2a \ ++ tst-cet-legacy-3 \ ++ tst-cet-legacy-4 \ ++ tst-cet-legacy-5a \ ++ tst-cet-legacy-6a \ ++ tst-cet-legacy-7 \ ++ tst-cet-legacy-8 \ ++ tst-cet-legacy-9 \ ++ tst-cet-legacy-9-static \ ++ tst-cet-legacy-10 \ ++ tst-cet-legacy-10-static \ ++# tests ++tests-static += \ ++ tst-cet-legacy-9-static \ ++ tst-cet-legacy-10-static \ ++# tests-static + tst-cet-legacy-1a-ARGS = -- $(host-test-program-cmd) + ifneq (no,$(have-tunables)) +-tests += tst-cet-legacy-4a tst-cet-legacy-4b tst-cet-legacy-4c \ +- tst-cet-legacy-5b tst-cet-legacy-6b ++tests += \ ++ tst-cet-legacy-4a \ ++ tst-cet-legacy-4b \ ++ tst-cet-legacy-4c \ ++ tst-cet-legacy-5b \ ++ tst-cet-legacy-6b \ ++# tests + endif +-modules-names += tst-cet-legacy-mod-1 tst-cet-legacy-mod-2 \ +- tst-cet-legacy-mod-4 tst-cet-legacy-mod-5a \ +- tst-cet-legacy-mod-5b tst-cet-legacy-mod-5c \ +- tst-cet-legacy-mod-6a tst-cet-legacy-mod-6b \ +- tst-cet-legacy-mod-6c ++modules-names += \ ++ tst-cet-legacy-mod-1 \ ++ tst-cet-legacy-mod-2 \ ++ tst-cet-legacy-mod-4 \ ++ tst-cet-legacy-mod-5a \ ++ tst-cet-legacy-mod-5b \ ++ tst-cet-legacy-mod-5c \ ++ tst-cet-legacy-mod-6a \ ++ tst-cet-legacy-mod-6b \ ++ tst-cet-legacy-mod-6c \ ++# modules-names + + CFLAGS-tst-cet-legacy-2.c += -fcf-protection=branch + CFLAGS-tst-cet-legacy-2a.c += -fcf-protection +@@ -253,7 +297,9 @@ endif + ifeq ($(subdir),posix) + tests += \ + tst-sysconf-cache-linesize \ +- tst-sysconf-cache-linesize-static ++ tst-sysconf-cache-linesize-static \ ++# tests + tests-static += \ +- tst-sysconf-cache-linesize-static ++ tst-sysconf-cache-linesize-static \ ++# tests-static + endif diff --git a/sysdeps/x86/bits/wordsize.h b/sysdeps/x86/bits/wordsize.h index 70f652bca1..3f40aa76f9 100644 --- a/sysdeps/x86/bits/wordsize.h @@ -16981,10 +18268,60 @@ index 70f652bca1..3f40aa76f9 100644 -# define __WORDSIZE_TIME64_COMPAT32 0 #endif diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h -index e9f3382108..d95c1efa2c 100644 +index e9f3382108..16ee0f5b36 100644 --- a/sysdeps/x86/dl-cacheinfo.h +++ b/sysdeps/x86/dl-cacheinfo.h -@@ -478,7 +478,7 @@ handle_zhaoxin (int name) +@@ -187,7 +187,7 @@ intel_check_word (int name, unsigned int value, bool *has_level_2, + ++round; + } + /* There is no other cache information anywhere else. */ +- break; ++ return -1; + } + else + { +@@ -257,28 +257,23 @@ handle_intel (int name, const struct cpu_features *cpu_features) + + /* OK, we can use the CPUID instruction to get all info about the + caches. */ +- unsigned int cnt = 0; +- unsigned int max = 1; + long int result = 0; + bool no_level_2_or_3 = false; + bool has_level_2 = false; ++ unsigned int eax; ++ unsigned int ebx; ++ unsigned int ecx; ++ unsigned int edx; ++ __cpuid (2, eax, ebx, ecx, edx); + +- while (cnt++ < max) ++ /* The low byte of EAX of CPUID leaf 2 should always return 1 and it ++ should be ignored. If it isn't 1, use CPUID leaf 4 instead. */ ++ if ((eax & 0xff) != 1) ++ return intel_check_word (name, 0xff, &has_level_2, &no_level_2_or_3, ++ cpu_features); ++ else + { +- unsigned int eax; +- unsigned int ebx; +- unsigned int ecx; +- unsigned int edx; +- __cpuid (2, eax, ebx, ecx, edx); +- +- /* The low byte of EAX in the first round contain the number of +- rounds we have to make. At least one, the one we are already +- doing. */ +- if (cnt == 1) +- { +- max = eax & 0xff; +- eax &= 0xffffff00; +- } ++ eax &= 0xffffff00; + + /* Process the individual registers' value. */ + result = intel_check_word (name, eax, &has_level_2, +@@ -478,7 +473,7 @@ handle_zhaoxin (int name) } static void @@ -16993,7 +18330,7 @@ index e9f3382108..d95c1efa2c 100644 long int core) { unsigned int eax; -@@ -497,6 +497,7 @@ get_common_cache_info (long int *shared_ptr, unsigned int *threads_ptr, +@@ -497,6 +492,7 @@ get_common_cache_info (long int *shared_ptr, unsigned int *threads_ptr, unsigned int family = cpu_features->basic.family; unsigned int model = cpu_features->basic.model; long int shared = *shared_ptr; @@ -17001,7 +18338,7 @@ index e9f3382108..d95c1efa2c 100644 unsigned int threads = *threads_ptr; bool inclusive_cache = true; bool support_count_mask = true; -@@ -512,6 +513,7 @@ get_common_cache_info (long int *shared_ptr, unsigned int *threads_ptr, +@@ -512,6 +508,7 @@ get_common_cache_info (long int *shared_ptr, unsigned int *threads_ptr, /* Try L2 otherwise. */ level = 2; shared = core; @@ -17009,7 +18346,7 @@ index e9f3382108..d95c1efa2c 100644 threads_l2 = 0; threads_l3 = -1; } -@@ -668,29 +670,27 @@ get_common_cache_info (long int *shared_ptr, unsigned int *threads_ptr, +@@ -668,29 +665,27 @@ get_common_cache_info (long int *shared_ptr, unsigned int *threads_ptr, } else { @@ -17051,7 +18388,7 @@ index e9f3382108..d95c1efa2c 100644 *threads_ptr = threads; } -@@ -704,6 +704,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -704,6 +699,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) int max_cpuid_ex; long int data = -1; long int shared = -1; @@ -17059,7 +18396,7 @@ index e9f3382108..d95c1efa2c 100644 long int core = -1; unsigned int threads = 0; unsigned long int level1_icache_size = -1; -@@ -724,6 +725,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -724,6 +720,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) data = handle_intel (_SC_LEVEL1_DCACHE_SIZE, cpu_features); core = handle_intel (_SC_LEVEL2_CACHE_SIZE, cpu_features); shared = handle_intel (_SC_LEVEL3_CACHE_SIZE, cpu_features); @@ -17067,7 +18404,7 @@ index e9f3382108..d95c1efa2c 100644 level1_icache_size = handle_intel (_SC_LEVEL1_ICACHE_SIZE, cpu_features); -@@ -747,13 +749,14 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -747,13 +744,14 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) level4_cache_size = handle_intel (_SC_LEVEL4_CACHE_SIZE, cpu_features); @@ -17083,7 +18420,7 @@ index e9f3382108..d95c1efa2c 100644 level1_icache_size = handle_zhaoxin (_SC_LEVEL1_ICACHE_SIZE); level1_icache_linesize = handle_zhaoxin (_SC_LEVEL1_ICACHE_LINESIZE); -@@ -767,13 +770,14 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -767,13 +765,14 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) level3_cache_assoc = handle_zhaoxin (_SC_LEVEL3_CACHE_ASSOC); level3_cache_linesize = handle_zhaoxin (_SC_LEVEL3_CACHE_LINESIZE); @@ -17099,7 +18436,7 @@ index e9f3382108..d95c1efa2c 100644 level1_icache_size = handle_amd (_SC_LEVEL1_ICACHE_SIZE); level1_icache_linesize = handle_amd (_SC_LEVEL1_ICACHE_LINESIZE); -@@ -791,8 +795,11 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -791,8 +790,11 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) __cpuid (0x80000000, max_cpuid_ex, ebx, ecx, edx); if (shared <= 0) @@ -17113,7 +18450,7 @@ index e9f3382108..d95c1efa2c 100644 else { /* Figure out the number of logical threads that share L3. */ -@@ -816,7 +823,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -816,7 +818,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) /* Cap usage of highest cache level to the number of supported threads. */ if (threads > 0) @@ -17122,7 +18459,7 @@ index e9f3382108..d95c1efa2c 100644 /* Get shared cache per ccx for Zen architectures. */ if (cpu_features->basic.family >= 0x17) -@@ -827,12 +834,13 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -827,12 +829,13 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) __cpuid_count (0x8000001D, 0x3, eax, ebx, ecx, edx); unsigned int threads_per_ccx = ((eax >> 14) & 0xfff) + 1; @@ -17137,7 +18474,7 @@ index e9f3382108..d95c1efa2c 100644 } } } -@@ -850,17 +858,46 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -850,26 +853,55 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) cpu_features->level3_cache_linesize = level3_cache_linesize; cpu_features->level4_cache_size = level4_cache_size; @@ -17195,7 +18532,18 @@ index e9f3382108..d95c1efa2c 100644 #if HAVE_TUNABLES /* NB: The REP MOVSB threshold must be greater than VEC_SIZE * 8. */ -@@ -915,8 +952,8 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +- unsigned int minimum_rep_movsb_threshold; ++ unsigned long int minimum_rep_movsb_threshold; + #endif + /* NB: The default REP MOVSB threshold is 4096 * (VEC_SIZE / 16) for + VEC_SIZE == 64 or 32. For VEC_SIZE == 16, the default REP MOVSB + threshold is 2048 * (VEC_SIZE / 16). */ +- unsigned int rep_movsb_threshold; ++ unsigned long int rep_movsb_threshold; + if (CPU_FEATURE_USABLE_P (cpu_features, AVX512F) + && !CPU_FEATURE_PREFERRED_P (cpu_features, Prefer_No_AVX512)) + { +@@ -915,8 +947,8 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) shared = tunable_size; tunable_size = TUNABLE_GET (x86_non_temporal_threshold, long int, NULL); @@ -17206,7 +18554,7 @@ index e9f3382108..d95c1efa2c 100644 non_temporal_threshold = tunable_size; tunable_size = TUNABLE_GET (x86_rep_movsb_threshold, long int, NULL); -@@ -931,14 +968,9 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) +@@ -931,14 +963,9 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) TUNABLE_SET_WITH_BOUNDS (x86_data_cache_size, data, 0, SIZE_MAX); TUNABLE_SET_WITH_BOUNDS (x86_shared_cache_size, shared, 0, SIZE_MAX); @@ -17258,6 +18606,26 @@ index 0000000000..8f21ebe1b6 @@ -0,0 +1,2 @@ +#define UTMP_SIZE 384 +#define LASTLOG_SIZE 292 +diff --git a/sysdeps/x86_64/dl-tls.c b/sysdeps/x86_64/dl-tls.c +index 24a6e643b0..86517573dc 100644 +--- a/sysdeps/x86_64/dl-tls.c ++++ b/sysdeps/x86_64/dl-tls.c +@@ -40,9 +40,12 @@ __tls_get_addr_slow (GET_ADDR_ARGS) + { + dtv_t *dtv = THREAD_DTV (); + +- size_t gen = atomic_load_relaxed (&GL(dl_tls_generation)); +- if (__glibc_unlikely (dtv[0].counter != gen)) +- return update_get_addr (GET_ADDR_PARAM); ++ size_t gen = atomic_load_acquire (&GL(dl_tls_generation)); ++ if (__glibc_unlikely (dtv[0].counter != gen) ++ /* See comment in __tls_get_addr in elf/dl-tls.c. */ ++ && !(_dl_tls_allocate_active () ++ && GET_ADDR_MODULE < _dl_tls_initial_modid_limit)) ++ return update_get_addr (GET_ADDR_PARAM, gen); + + return tls_get_addr_tail (GET_ADDR_PARAM, dtv, NULL); + } diff --git a/sysdeps/x86_64/dl-tlsdesc.S b/sysdeps/x86_64/dl-tlsdesc.S index 0db2cb4152..7619e743e1 100644 --- a/sysdeps/x86_64/dl-tlsdesc.S @@ -17334,6 +18702,304 @@ index 864f4777a2..23446ff4ac 100644 (void) &f; } +diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile +index 248162525b..ea81753b70 100644 +--- a/sysdeps/x86_64/fpu/multiarch/Makefile ++++ b/sysdeps/x86_64/fpu/multiarch/Makefile +@@ -1,32 +1,78 @@ + ifeq ($(subdir),math) +-libm-sysdep_routines += s_floor-c s_ceil-c s_floorf-c s_ceilf-c \ +- s_rint-c s_rintf-c s_nearbyint-c s_nearbyintf-c \ +- s_roundeven-c s_roundevenf-c s_trunc-c s_truncf-c ++libm-sysdep_routines += \ ++ s_ceil-c \ ++ s_ceilf-c \ ++ s_floor-c \ ++ s_floorf-c \ ++ s_rint-c \ ++ s_rintf-c \ ++ s_nearbyint-c \ ++ s_nearbyintf-c \ ++ s_roundeven-c \ ++ s_roundevenf-c \ ++ s_trunc-c \ ++ s_truncf-c \ ++# libm-sysdep_routines + +-libm-sysdep_routines += s_ceil-sse4_1 s_ceilf-sse4_1 s_floor-sse4_1 \ +- s_floorf-sse4_1 s_nearbyint-sse4_1 \ +- s_nearbyintf-sse4_1 s_roundeven-sse4_1 \ +- s_roundevenf-sse4_1 s_rint-sse4_1 s_rintf-sse4_1 \ +- s_trunc-sse4_1 s_truncf-sse4_1 ++libm-sysdep_routines += \ ++ s_ceil-sse4_1 \ ++ s_ceilf-sse4_1 \ ++ s_floor-sse4_1 \ ++ s_floorf-sse4_1 \ ++ s_nearbyint-sse4_1 \ ++ s_nearbyintf-sse4_1 \ ++ s_roundeven-sse4_1 \ ++ s_roundevenf-sse4_1 \ ++ s_rint-sse4_1 \ ++ s_rintf-sse4_1 \ ++ s_trunc-sse4_1 \ ++ s_truncf-sse4_1 \ ++# libm-sysdep_routines + +-libm-sysdep_routines += e_exp-fma e_log-fma e_pow-fma s_atan-fma \ +- e_asin-fma e_atan2-fma s_sin-fma s_tan-fma \ +- s_sincos-fma ++libm-sysdep_routines += \ ++ e_asin-fma \ ++ e_atan2-fma \ ++ e_exp-fma \ ++ e_log-fma \ ++ e_log2-fma \ ++ e_pow-fma \ ++ s_atan-fma \ ++ s_expm1-fma \ ++ s_log1p-fma \ ++ s_sin-fma \ ++ s_sincos-fma \ ++ s_tan-fma \ ++# libm-sysdep_routines + + CFLAGS-e_asin-fma.c = -mfma -mavx2 + CFLAGS-e_atan2-fma.c = -mfma -mavx2 + CFLAGS-e_exp-fma.c = -mfma -mavx2 + CFLAGS-e_log-fma.c = -mfma -mavx2 ++CFLAGS-e_log2-fma.c = -mfma -mavx2 + CFLAGS-e_pow-fma.c = -mfma -mavx2 + CFLAGS-s_atan-fma.c = -mfma -mavx2 ++CFLAGS-s_expm1-fma.c = -mfma -mavx2 ++CFLAGS-s_log1p-fma.c = -mfma -mavx2 + CFLAGS-s_sin-fma.c = -mfma -mavx2 + CFLAGS-s_tan-fma.c = -mfma -mavx2 + CFLAGS-s_sincos-fma.c = -mfma -mavx2 + +-libm-sysdep_routines += s_sinf-sse2 s_cosf-sse2 s_sincosf-sse2 ++libm-sysdep_routines += \ ++ s_cosf-sse2 \ ++ s_sincosf-sse2 \ ++ s_sinf-sse2 \ ++# libm-sysdep_routines + +-libm-sysdep_routines += e_exp2f-fma e_expf-fma e_log2f-fma e_logf-fma \ +- e_powf-fma s_sinf-fma s_cosf-fma s_sincosf-fma ++libm-sysdep_routines += \ ++ e_exp2f-fma \ ++ e_expf-fma \ ++ e_log2f-fma \ ++ e_logf-fma \ ++ e_powf-fma \ ++ s_cosf-fma \ ++ s_sincosf-fma \ ++ s_sinf-fma \ ++# libm-sysdep_routines + + CFLAGS-e_exp2f-fma.c = -mfma -mavx2 + CFLAGS-e_expf-fma.c = -mfma -mavx2 +@@ -37,9 +83,17 @@ CFLAGS-s_sinf-fma.c = -mfma -mavx2 + CFLAGS-s_cosf-fma.c = -mfma -mavx2 + CFLAGS-s_sincosf-fma.c = -mfma -mavx2 + +-libm-sysdep_routines += e_exp-fma4 e_log-fma4 e_pow-fma4 s_atan-fma4 \ +- e_asin-fma4 e_atan2-fma4 s_sin-fma4 s_tan-fma4 \ +- s_sincos-fma4 ++libm-sysdep_routines += \ ++ e_exp-fma4 \ ++ e_log-fma4 \ ++ e_pow-fma4 \ ++ e_asin-fma4 \ ++ s_atan-fma4 \ ++ e_atan2-fma4 \ ++ s_sin-fma4 \ ++ s_sincos-fma4 \ ++ s_tan-fma4 \ ++# libm-sysdep_routines + + CFLAGS-e_asin-fma4.c = -mfma4 + CFLAGS-e_atan2-fma4.c = -mfma4 +@@ -51,9 +105,15 @@ CFLAGS-s_sin-fma4.c = -mfma4 + CFLAGS-s_tan-fma4.c = -mfma4 + CFLAGS-s_sincos-fma4.c = -mfma4 + +-libm-sysdep_routines += e_exp-avx e_log-avx s_atan-avx \ +- e_atan2-avx s_sin-avx s_tan-avx \ +- s_sincos-avx ++libm-sysdep_routines += \ ++ e_exp-avx \ ++ e_log-avx \ ++ s_atan-avx \ ++ e_atan2-avx \ ++ s_sin-avx \ ++ s_sincos-avx \ ++ s_tan-avx \ ++# libm-sysdep_routines + + CFLAGS-e_atan2-avx.c = -msse2avx -DSSE2AVX + CFLAGS-e_exp-avx.c = -msse2avx -DSSE2AVX +diff --git a/sysdeps/x86_64/fpu/multiarch/e_log2-fma.c b/sysdeps/x86_64/fpu/multiarch/e_log2-fma.c +new file mode 100644 +index 0000000000..9fbebc1b47 +--- /dev/null ++++ b/sysdeps/x86_64/fpu/multiarch/e_log2-fma.c +@@ -0,0 +1,3 @@ ++#define __log2 __log2_fma ++ ++#include <sysdeps/ieee754/dbl-64/e_log2.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/e_log2.c b/sysdeps/x86_64/fpu/multiarch/e_log2.c +new file mode 100644 +index 0000000000..c0320caf36 +--- /dev/null ++++ b/sysdeps/x86_64/fpu/multiarch/e_log2.c +@@ -0,0 +1,43 @@ ++/* Multiple versions of log2. ++ Copyright (C) 2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <libm-alias-double.h> ++#include <libm-alias-finite.h> ++ ++extern double __redirect_log2 (double); ++ ++#define SYMBOL_NAME log2 ++#include "ifunc-fma.h" ++ ++libc_ifunc_redirected (__redirect_log2, __log2, IFUNC_SELECTOR ()); ++ ++#ifdef SHARED ++__hidden_ver1 (__log2, __GI___log2, __redirect_log2) ++ __attribute__ ((visibility ("hidden"))); ++ ++versioned_symbol (libm, __ieee754_log2, log2, GLIBC_2_29); ++libm_alias_double_other (__log2, log2) ++#else ++libm_alias_double (__log2, log2) ++#endif ++ ++strong_alias (__log2, __ieee754_log2) ++libm_alias_finite (__log2, __log2) ++ ++#define __log2 __log2_sse2 ++#include <sysdeps/ieee754/dbl-64/e_log2.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_expm1-fma.c b/sysdeps/x86_64/fpu/multiarch/s_expm1-fma.c +new file mode 100644 +index 0000000000..3ee2bd804e +--- /dev/null ++++ b/sysdeps/x86_64/fpu/multiarch/s_expm1-fma.c +@@ -0,0 +1,10 @@ ++#define __expm1 __expm1_fma ++ ++/* NB: __expm1 may be expanded to __expm1_fma in the following ++ prototypes. */ ++extern long double __expm1l (long double); ++extern long double __expm1f128 (long double); ++ ++#define SECTION __attribute__ ((section (".text.fma"))) ++ ++#include <sysdeps/ieee754/dbl-64/s_expm1.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_expm1.c b/sysdeps/x86_64/fpu/multiarch/s_expm1.c +new file mode 100644 +index 0000000000..2cae83fb7f +--- /dev/null ++++ b/sysdeps/x86_64/fpu/multiarch/s_expm1.c +@@ -0,0 +1,36 @@ ++/* Multiple versions of expm1. ++ Copyright (C) 2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <libm-alias-double.h> ++ ++extern double __redirect_expm1 (double); ++ ++#define SYMBOL_NAME expm1 ++#include "ifunc-fma.h" ++ ++libc_ifunc_redirected (__redirect_expm1, __expm1, IFUNC_SELECTOR ()); ++libm_alias_double (__expm1, expm1) ++ ++#define __expm1 __expm1_sse2 ++ ++/* NB: __expm1 may be expanded to __expm1_sse2 in the following ++ prototypes. */ ++extern long double __expm1l (long double); ++extern long double __expm1f128 (long double); ++ ++#include <sysdeps/ieee754/dbl-64/s_expm1.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_log1p-fma.c b/sysdeps/x86_64/fpu/multiarch/s_log1p-fma.c +new file mode 100644 +index 0000000000..8952df8f9e +--- /dev/null ++++ b/sysdeps/x86_64/fpu/multiarch/s_log1p-fma.c +@@ -0,0 +1,4 @@ ++#define __log1p __log1p_fma ++#define SECTION __attribute__ ((section (".text.fma"))) ++ ++#include <sysdeps/ieee754/dbl-64/s_log1p.c> +diff --git a/sysdeps/x86_64/fpu/multiarch/s_log1p.c b/sysdeps/x86_64/fpu/multiarch/s_log1p.c +new file mode 100644 +index 0000000000..6ce5198d6d +--- /dev/null ++++ b/sysdeps/x86_64/fpu/multiarch/s_log1p.c +@@ -0,0 +1,29 @@ ++/* Multiple versions of log1p. ++ Copyright (C) 2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <libm-alias-double.h> ++ ++extern double __redirect_log1p (double); ++ ++#define SYMBOL_NAME log1p ++#include "ifunc-fma.h" ++ ++libc_ifunc_redirected (__redirect_log1p, __log1p, IFUNC_SELECTOR ()); ++ ++#define __log1p __log1p_sse2 ++#include <sysdeps/ieee754/dbl-64/s_log1p.c> diff --git a/sysdeps/x86_64/multiarch/ifunc-avx2.h b/sysdeps/x86_64/multiarch/ifunc-avx2.h index a57a9952f3..f2f5e8a211 100644 --- a/sysdeps/x86_64/multiarch/ifunc-avx2.h @@ -17630,6 +19296,19 @@ index afd450d020..51bc9344f0 100644 movzbl (VEC_SIZE * -1 + SIZE_OFFSET)(%rsi, %rax), %ecx movzbl (VEC_SIZE * -1 + SIZE_OFFSET)(%rdi, %rax), %eax subl %ecx, %eax +diff --git a/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S b/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S +index 905d0fa464..bc4053d1c5 100644 +--- a/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S ++++ b/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S +@@ -301,7 +301,7 @@ L(more_2x_vec): + leaq (VEC_SIZE * 4)(%rax), %LOOP_REG + #endif + /* Align dst for loop. */ +- andq $(VEC_SIZE * -2), %LOOP_REG ++ andq $(VEC_SIZE * -1), %LOOP_REG + .p2align 4 + L(loop): + VMOVA %VEC(0), LOOP_4X_OFFSET(%LOOP_REG) diff --git a/sysdeps/x86_64/multiarch/rtld-strcpy.S b/sysdeps/x86_64/multiarch/rtld-strcpy.S new file mode 100644 index 0000000000..19439c553d -- GitLab From 9dd8f24f1debef6e91d0be5e37f7b0c5de7d244b Mon Sep 17 00:00:00 2001 From: Apertis CI robot <devel@lists.apertis.org> Date: Thu, 10 Apr 2025 16:06:57 +0000 Subject: [PATCH 2/3] Release glibc version 2.36-9+deb12u10+apertis1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com> --- debian/changelog | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/debian/changelog b/debian/changelog index 73add510e..db06f398f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +glibc (2.36-9+deb12u10+apertis1) apertis; urgency=medium + + * Sync from debian/bookworm. + * Remaining Apertis specific changes: + - Remove bashisms from ldd and tzselect + - Remove libasyncns-dev from Breaks fields + This block the build of pulseaudio on OBS and this break + is not relevant for Apertis. + + -- Apertis CI <devel@lists.apertis.org> Thu, 10 Apr 2025 16:06:57 +0000 + glibc (2.36-9+deb12u10) bookworm; urgency=medium * debian/patches/git-updates.diff: update from upstream stable branch: -- GitLab From e66628bc22ec6e361bbc2ea6c766809b46fe3fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dylan=20A=C3=AFssi?= <dylan.aissi@collabora.com> Date: Thu, 10 Apr 2025 21:08:02 +0000 Subject: [PATCH 3/3] Refresh the automatically detected licensing information MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Dylan Aïssi <dylan.aissi@collabora.com> --- debian/apertis/copyright | 421 ++++++++++++++++++++------------------- 1 file changed, 218 insertions(+), 203 deletions(-) diff --git a/debian/apertis/copyright b/debian/apertis/copyright index 4a1565561..f48eeeb25 100644 --- a/debian/apertis/copyright +++ b/debian/apertis/copyright @@ -11,7 +11,7 @@ Files: .clang-format NEWS Rules test-skeleton.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: .gitattributes @@ -46,7 +46,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: argp/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: argp/Versions @@ -56,7 +56,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: assert/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: assert/Depend @@ -66,6 +66,10 @@ Files: assert/Depend Copyright: no-info-found License: LGPL-2.1+ +Files: assert/tst-assert-sa-2025-0001.c +Copyright: The GNU Toolchain Authors. +License: LGPL-2.1+ + Files: benchtests/* Copyright: no-info-found License: LGPL-2.1+ @@ -165,7 +169,7 @@ Files: benchtests/bench-arc4random.c benchtests/json-lib.h benchtests/pthread_once-source.c benchtests/thread_create-source.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: benchtests/bench-wcrtomb.c @@ -173,7 +177,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: benchtests/scripts/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: benchtests/scripts/benchout.schema.json @@ -182,7 +186,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: bits/elfclass.h @@ -204,7 +208,7 @@ License: LGPL-2.1+ Files: bits/types/error_t.h bits/types/stack_t.h bits/types/struct_sched_param.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: catgets/* @@ -217,7 +221,7 @@ Files: catgets/Makefile catgets/nl_types.h catgets/open_catalog.c catgets/test-gencat.sh -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: catgets/gencat.c @@ -230,7 +234,7 @@ Copyright: 1992-1996, 1998-2012, Free Software Foundation, Inc. License: FSFUL Files: conform/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: conform/data/* @@ -238,7 +242,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: crypt/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: crypt/README.ufc-crypt @@ -263,7 +267,7 @@ Copyright: 1990-2023, Free Software Foundation, Inc. License: GPL-2+ Files: csu/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: csu/Versions @@ -274,7 +278,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: ctype/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: ctype/Versions @@ -310,23 +314,27 @@ Copyright: 1992-2012 License: LGPL-2.1+ Files: debian/patches/alpha/local-string-functions.diff -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: debian/patches/apertis/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. +License: LGPL-2.1+ + +Files: debian/patches/git-updates.diff +Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: debian/patches/hurd-i386/git-sigtimedwait.diff debian/patches/hurd-i386/submitted-net.diff debian/patches/hurd-i386/tg-ifaddrs_v6.diff debian/patches/hurd-i386/tg-sysvshm.diff -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: debian/patches/kfreebsd/local-sysdeps.diff debian/patches/kfreebsd/submitted-auxv.diff -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: debian/rules @@ -336,7 +344,7 @@ Copyright: 2003, Jeff Bailey <jbailey@debian.org> License: GPL-2+ Files: debug/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: debug/Depend @@ -367,7 +375,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: dirent/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: dirent/Versions @@ -380,7 +388,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: dlfcn/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: dlfcn/Versions @@ -731,6 +739,9 @@ Files: elf/Makefile elf/tst-protected1moda.c elf/tst-protected1modb.c elf/tst-ptrguard1.c + elf/tst-recursive-tls.c + elf/tst-recursive-tlsmallocmod.c + elf/tst-recursive-tlsmodN.c elf/tst-relr-mod2.c elf/tst-relr-mod3a.c elf/tst-relr-mod3b.c @@ -783,7 +794,7 @@ Files: elf/Makefile elf/vismod1.c elf/vismod2.c elf/vismod3.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: elf/cache.c @@ -806,7 +817,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: fbtl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: fbtl/ANNOUNCE @@ -965,7 +976,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: fbtl_db/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: fbtl_db/ChangeLog @@ -976,7 +987,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: gmon/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: gmon/Makefile @@ -1012,11 +1023,11 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: gnulib/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: grp/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: grp/Versions @@ -1034,7 +1045,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: gshadow/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: gshadow/Versions @@ -1047,7 +1058,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: hesiod/Makefile -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: hesiod/hesiod.c @@ -1057,11 +1068,11 @@ Copyright: 1995-2022, Free Software Foundation, Inc. License: ISC and/or LGPL-2.1+ Files: hesiod/nss_hesiod/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: htl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: htl/Versions @@ -1096,11 +1107,11 @@ Files: htl/tests/test-1.c htl/tests/test-8.c htl/tests/test-9.c htl/tests/test-__pthread_destroy_specific-skip.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: hurd/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: hurd/Depend @@ -1118,7 +1129,7 @@ Copyright: 1987-1992, 1995, Carnegie Mellon University License: MIT-CMU Files: iconv/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: iconv/Versions @@ -1137,7 +1148,7 @@ Copyright: 1990-2023, Free Software Foundation, Inc. License: GPL-2+ Files: iconvdata/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: iconvdata/ARMSCII-8.irreversible @@ -1585,15 +1596,15 @@ Files: include/alloc_buffer.h include/stap-probe.h include/stdc-predef.h include/values.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: include/bits/xopen_lim.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: include/gnu/libc-version.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: include/programs/* @@ -1602,11 +1613,11 @@ License: GPL-2+ Files: include/sys/sysmacros.h include/sys/time.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: inet/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: inet/Versions @@ -1628,7 +1639,7 @@ Copyright: 1980, 1982-1995, 2011, The Regents of the University of California. License: BSD-3-clause Files: inet/arpa/inet.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: inet/bindresvport.c @@ -1664,7 +1675,7 @@ Copyright: 2010-2012, Oracle America, Inc. License: BSD-3-clause Files: intl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: intl/Depend @@ -1684,7 +1695,7 @@ Copyright: 1990-2023, Free Software Foundation, Inc. License: GPL-2+ Files: io/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: io/Versions @@ -1740,7 +1751,7 @@ Copyright: 1990-2023, Free Software Foundation, Inc. License: GPL-2+ Files: libio/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: libio/Depend @@ -1809,7 +1820,7 @@ License: LGPL-2.1+ Files: libio/bits/types/cookie_io_functions_t.h libio/bits/types/struct_FILE.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: libio/filedoalloc.c @@ -1826,7 +1837,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: locale/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: locale/C_name.c @@ -1886,7 +1897,7 @@ Files: localedata/Makefile localedata/tst-trans.sh localedata/tst-wctype.c localedata/xfrm-test.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: localedata/locales/ab_GE @@ -1904,7 +1915,7 @@ Copyright: no-info-found License: public-domain Files: localedata/tests/test6.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: localedata/th_TH.in @@ -1916,7 +1927,7 @@ Copyright: 1990-2023, Free Software Foundation, Inc. License: GPL-2+ Files: localedata/unicode-gen/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: localedata/unicode-gen/DerivedCoreProperties.txt @@ -1934,7 +1945,7 @@ Copyright: 1991-2013, Unicode, Inc. License: Unicode-TOU Files: login/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: login/Versions @@ -1949,7 +1960,7 @@ Copyright: 1980, 1982-1995, 2011, The Regents of the University of California. License: BSD-3-clause Files: mach/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: mach/Versions @@ -1987,7 +1998,7 @@ Copyright: no-info-found License: MIT-CMU Files: malloc/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: malloc/Depend @@ -2026,11 +2037,11 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: manual/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: math/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: math/README.libm-test @@ -2187,11 +2198,11 @@ Copyright: no-info-found License: LGPL-2.1+ Files: mathvec/Makefile -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: misc/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: misc/Versions @@ -2237,7 +2248,7 @@ Copyright: 1980, 1982-1995, 2011, The Regents of the University of California. License: BSD-3-clause Files: nis/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: nis/Depend @@ -2252,7 +2263,7 @@ License: BSD-3-clause Files: nis/rpcsvc/nislib.h nis/rpcsvc/ypclnt.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: nis/yp_xdr.c @@ -2261,7 +2272,7 @@ Copyright: 2010-2012, Oracle America, Inc. License: BSD-3-clause Files: nptl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: nptl/DESIGN-systemtap-probes.txt @@ -2349,7 +2360,7 @@ Copyright: 1991, 1992, 1994-2022, Free Software Foundation, Inc. License: LGPL-2+ Files: nptl_db/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: nptl_db/Versions @@ -2387,11 +2398,11 @@ Files: nscd/Makefile nscd/nscd_stat.c nscd/selinux.c nscd/selinux.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: nss/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: nss/Depend @@ -2451,7 +2462,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: posix/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: posix/BOOST.tests @@ -2557,7 +2568,7 @@ Copyright: no-info-found License: zlib Files: pwd/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: pwd/Versions @@ -2644,7 +2655,7 @@ Files: resolv/Makefile resolv/tst-resolv-trailing.c resolv/tst-resolv-trustad.c resolv/tst-resolv-txnid-collision.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: resolv/arpa/* @@ -2725,11 +2736,11 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: BSD-3-clause and/or LGPL-2.1+ Files: resolv/nss_dns/dns-canon.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: resource/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: resource/Versions @@ -2738,7 +2749,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: rt/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: rt/Depend @@ -2768,7 +2779,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: scripts/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: scripts/abi-versions.awk @@ -2820,7 +2831,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: setjmp/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: setjmp/Versions @@ -2831,7 +2842,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: shadow/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: shadow/Versions @@ -2840,7 +2851,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: signal/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: signal/Versions @@ -2856,7 +2867,7 @@ License: LGPL-2.1+ Files: signal/bits/types/__sigval_t.h signal/bits/types/struct_sigstack.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: signal/sys/* @@ -2864,7 +2875,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: socket/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: socket/Versions @@ -2877,7 +2888,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: socket/bits/socket2.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: soft-fp/* @@ -2885,7 +2896,7 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: LGPL-2.1+ with GCC-exception-2.0 exception Files: soft-fp/Makefile -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: soft-fp/testit.c @@ -2893,7 +2904,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: stdio-common/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: stdio-common/Depend @@ -2994,7 +3005,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: stdlib/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: stdlib/Depend @@ -3056,7 +3067,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: stdlib/sys/random.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: stdlib/tst-realpath-toolong.c @@ -3064,7 +3075,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: string/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: string/Depend @@ -3110,7 +3121,7 @@ Files: sunrpc/Makefile sunrpc/tst-xdrmem.c sunrpc/tst-xdrmem2.c sunrpc/xdr_intXX_t.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sunrpc/Versions @@ -3133,7 +3144,7 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: BSD-3-clause and/or LGPL-2.1+ Files: sunrpc/rpc/auth_des.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sunrpc/rpc/svc.h @@ -3328,6 +3339,7 @@ Files: support/Makefile support/xpthread_barrierattr_setpshared.c support/xpthread_cancel.c support/xpthread_check_return.c + support/xpthread_cond_signal.c support/xpthread_cond_wait.c support/xpthread_create.c support/xpthread_detach.c @@ -3387,7 +3399,7 @@ Files: support/Makefile support/xuselocale.c support/xwaitpid.c support/xwrite.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: support/support.h @@ -3401,7 +3413,7 @@ Copyright: The GNU Tools Authors. License: LGPL-2.1+ Files: sysdeps/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/aarch64/Implies @@ -3530,7 +3542,7 @@ License: LGPL-2.1+ Files: sysdeps/arc/nofpu/math-tests-exceptions.h sysdeps/arc/nofpu/math-tests-rounding.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/arm/Implies @@ -3583,11 +3595,11 @@ Files: sysdeps/arm/armv7/multiarch/ifunc-impl-list.c sysdeps/arm/armv7/multiarch/memchr_neon.S sysdeps/arm/armv7/multiarch/memcpy.c sysdeps/arm/armv7/multiarch/memcpy_impl.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/arm/armv7/strcmp.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/arm/be/* @@ -3794,11 +3806,11 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/hurd/htl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/hurd/include/hurd/sigpreempt.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/i386/Implies @@ -3881,7 +3893,7 @@ Files: sysdeps/i386/fpu/e_acosh.S sysdeps/i386/fpu/s_trunc.S sysdeps/i386/fpu/s_truncf.S sysdeps/i386/fpu/s_truncl.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/i386/fpu/s_nextafterl.c @@ -3920,7 +3932,7 @@ Files: sysdeps/i386/i686/fpu/multiarch/e_exp2f.c sysdeps/i386/i686/fpu/multiarch/s_cosf.c sysdeps/i386/i686/fpu/multiarch/s_sincosf.c sysdeps/i386/i686/fpu/multiarch/s_sinf.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/i386/i686/multiarch/Makefile @@ -4213,7 +4225,7 @@ Files: sysdeps/ia64/fpu/fclrexcpt.c sysdeps/ia64/fpu/w_log1pf.c sysdeps/ia64/fpu/w_log1pl.c sysdeps/ia64/fpu/w_scalblnf.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/ia64/fpu/import_file.awk @@ -4304,7 +4316,7 @@ Files: sysdeps/ieee754/float128/float1282mpn.c sysdeps/ieee754/float128/wcstof128.c sysdeps/ieee754/float128/wcstof128_l.c sysdeps/ieee754/float128/wcstof128_nan.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/ieee754/flt-32/e_acosf.c @@ -4577,7 +4589,7 @@ Copyright: no-info-found License: ISC Files: sysdeps/ieee754/ldbl-64-128/strtold_l.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/ieee754/ldbl-96/Makeconfig @@ -4627,7 +4639,7 @@ Copyright: no-info-found License: ISC Files: sysdeps/ieee754/ldbl-opt/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/ieee754/ldbl-opt/libm-alias-double.h @@ -4676,7 +4688,7 @@ Files: sysdeps/ieee754/ldbl-opt/libm-alias-double.h sysdeps/ieee754/ldbl-opt/s_ldexpl.c sysdeps/ieee754/ldbl-opt/test-nldbl-redirect.c sysdeps/ieee754/ldbl-opt/test-redirection-ldbl-64.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c @@ -4801,7 +4813,7 @@ Files: sysdeps/m68k/m680x0/fpu/e_acos.c sysdeps/m68k/m680x0/fpu/s_tan_template.c sysdeps/m68k/m680x0/fpu/s_tanh_template.c sysdeps/m68k/m680x0/fpu/s_trunc_template.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/m68k/m680x0/fpu/s_logbl.c @@ -4863,7 +4875,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/mach/hurd/bits/types/error_t.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mach/hurd/htl/Implies @@ -4891,15 +4903,15 @@ Files: sysdeps/mach/hurd/i386/____longjmp_chk.S sysdeps/mach/hurd/i386/tls.h sysdeps/mach/hurd/i386/trampoline.c sysdeps/mach/hurd/i386/vm_param.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mach/hurd/i386/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mach/hurd/i386/htl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mach/hurd/i386/htl/Implies @@ -4907,7 +4919,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/mach/hurd/i386/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mach/hurd/net/route.h @@ -4986,12 +4998,12 @@ License: LGPL-2.1+ Files: sysdeps/mips/mips32/crti.S sysdeps/mips/mips32/crtn.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mips/mips32/fpu/fix-fp-int-convert-overflow.h sysdeps/mips/mips32/fpu/fpucw-helpers.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mips/mips64/Implies @@ -5009,7 +5021,7 @@ License: LGPL-2.1+ Files: sysdeps/mips/mips64/n32/crti.S sysdeps/mips/mips64/n32/crtn.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mips/mips64/n64/* @@ -5018,7 +5030,7 @@ License: LGPL-2.1+ Files: sysdeps/mips/mips64/n64/crti.S sysdeps/mips/mips64/n64/crtn.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/mips/nofpu/* @@ -5175,7 +5187,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc32/476/memset.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc32/970/* @@ -5268,7 +5280,7 @@ License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc32/power6/memcpy.S sysdeps/powerpc/powerpc32/power6/memset.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc32/power6x/* @@ -5277,7 +5289,7 @@ License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc32/power7/Implies @@ -5344,7 +5356,7 @@ Files: sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_ceil.c sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_roundf.c sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_trunc.c sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_truncf.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc64/bits/* @@ -5374,7 +5386,7 @@ Files: sysdeps/powerpc/powerpc64/le/dl-hwcap-check.h sysdeps/powerpc/powerpc64/le/dl-hwcaps-subdirs.c sysdeps/powerpc/powerpc64/le/no_ldbl_gnu_attribute.c sysdeps/powerpc/powerpc64/le/tst-glibc-hwcaps.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c @@ -5389,11 +5401,11 @@ Files: sysdeps/powerpc/powerpc64/le/fpu/multiarch/e_log.c sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc64/le/power10/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc64/le/power10/Implies @@ -5409,7 +5421,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc64/le/power9/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/powerpc/powerpc64/le/power9/Implies @@ -5524,7 +5536,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/pthread/bits/sigthread.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/riscv/Implies @@ -5551,7 +5563,7 @@ License: LGPL-2.1+ Files: sysdeps/riscv/nofpu/math-tests-exceptions.h sysdeps/riscv/nofpu/math-tests-rounding.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/riscv/nptl/pthread-offsets.h @@ -5563,16 +5575,16 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/riscv/rv32/rvd/s_lrint.c sysdeps/riscv/rv32/rvd/s_lround.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/riscv/rv32/rvf/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/riscv/rv32/rvf/Implies @@ -5707,11 +5719,11 @@ License: LGPL-2.1+ Files: sysdeps/sh/sh4/__longjmp.S sysdeps/sh/sh4/setjmp.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sh/sh4/fpu/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/Makefile @@ -5745,11 +5757,11 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/sparc/nptl/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/nptl/tls.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/sparc32/Implies @@ -5775,7 +5787,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/sparc/sparc32/bits/setjmp.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/sparc32/fpu/s_fma.c @@ -5791,11 +5803,11 @@ Files: sysdeps/sparc/sparc32/sparcv9/addmul_1.S sysdeps/sparc/sparc32/sparcv9/hp-timing.h sysdeps/sparc/sparc32/sparcv9/mul_1.S sysdeps/sparc/sparc32/sparcv9/submul_1.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/sparc32/sparcv9/fpu/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile @@ -5820,7 +5832,7 @@ License: LGPL-2.1+ Files: sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra1.S sysdeps/sparc/sparc32/sparcv9/multiarch/memset-ultra1.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/sparc/sparc64/Implies @@ -5907,7 +5919,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/alpha/sysdep.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/Implies @@ -6052,7 +6064,7 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: BSD-3-clause and/or LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/bits/sigcontext.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/fbtl/Implies @@ -6086,7 +6098,7 @@ License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/mips/dl-machine.h sysdeps/unix/bsd/bsd4.4/kfreebsd/mips/start.S sysdeps/unix/bsd/bsd4.4/kfreebsd/mips/start_thread.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/mips/mips32/bits/* @@ -6094,7 +6106,7 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: BSD-3-clause and/or LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/mips/mips32/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/mips/mips64/* @@ -6110,7 +6122,7 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: BSD-3-clause and/or LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/netinet/icmp6.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/nfs/* @@ -6162,7 +6174,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86/fbtl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/* @@ -6174,7 +6186,7 @@ Copyright: 1991-2022, Free Software Foundation, Inc. License: BSD-3-clause and/or LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/bits/sigcontext.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/dl-machine.h @@ -6198,11 +6210,11 @@ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/dl-machine.h sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/sysdep.h sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/ucontext_i.h sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/fbtl/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/fbtl/Implies @@ -6214,7 +6226,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/bsd/bsd4.4/kfreebsd/x86_64/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/inet/* @@ -6380,7 +6392,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/arc/bits/procfs.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/arc/clone.S @@ -6400,11 +6412,11 @@ Files: sysdeps/unix/sysv/linux/arc/clone.S sysdeps/unix/sysv/linux/arc/sysdep.h sysdeps/unix/sysv/linux/arc/ucontext-macros.h sysdeps/unix/sysv/linux/arc/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/arc/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/arm/Implies @@ -6451,7 +6463,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/csky/abiv2/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym @@ -6459,7 +6471,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/csky/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/csky/kernel-features.h @@ -6468,11 +6480,11 @@ Files: sysdeps/unix/sysv/linux/csky/kernel-features.h sysdeps/unix/sysv/linux/csky/makecontext.c sysdeps/unix/sysv/linux/csky/sigcontextinfo.h sysdeps/unix/sysv/linux/csky/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/csky/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/default-sched.h @@ -6498,15 +6510,15 @@ Files: sysdeps/unix/sysv/linux/generic/____longjmp_chk.c sysdeps/unix/sysv/linux/generic/symlink.c sysdeps/unix/sysv/linux/generic/sysdep.h sysdeps/unix/sysv/linux/generic/unlink.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/generic/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/hppa/* @@ -6526,15 +6538,15 @@ Files: sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c sysdeps/unix/sysv/linux/hppa/swapcontext.S sysdeps/unix/sysv/linux/hppa/sysdep.c sysdeps/unix/sysv/linux/hppa/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/hppa/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/hppa/sys/ucontext.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/i386/* @@ -6563,11 +6575,11 @@ Files: sysdeps/unix/sysv/linux/i386/____longjmp_chk.S sysdeps/unix/sysv/linux/i386/sysdep.h sysdeps/unix/sysv/linux/i386/tst-bz21269.c sysdeps/unix/sysv/linux/i386/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/ia64/* @@ -6606,11 +6618,11 @@ Files: sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S sysdeps/unix/sysv/linux/ia64/unwind_longjmp.c sysdeps/unix/sysv/linux/ia64/vfork.S sysdeps/unix/sysv/linux/ia64/wordexp.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/ia64/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h @@ -6619,7 +6631,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/ia64/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/include/* @@ -6627,7 +6639,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/include/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/include/sys/msg.h @@ -6669,11 +6681,11 @@ Files: sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c sysdeps/unix/sysv/linux/m68k/sysdep.S sysdeps/unix/sysv/linux/m68k/sysdep.h sysdeps/unix/sysv/linux/m68k/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/m68k/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/m68k/bits/a.out.h @@ -6682,7 +6694,7 @@ License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S @@ -6690,11 +6702,11 @@ Files: sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S sysdeps/unix/sysv/linux/m68k/m680x0/setcontext.S sysdeps/unix/sysv/linux/m68k/m680x0/swapcontext.S sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/m68k/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/microblaze/* @@ -6713,15 +6725,15 @@ Files: sysdeps/unix/sysv/linux/microblaze/____longjmp_chk.S sysdeps/unix/sysv/linux/microblaze/sysdep.S sysdeps/unix/sysv/linux/microblaze/sysdep.h sysdeps/unix/sysv/linux/microblaze/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/microblaze/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/microblaze/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/mips/Implies @@ -6761,11 +6773,11 @@ Files: sysdeps/unix/sysv/linux/mips/mips32/bug-getcontext-mips-gp.c sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S sysdeps/unix/sysv/linux/mips/mips32/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/mips/mips32/mips16/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile @@ -6791,18 +6803,18 @@ Files: sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c sysdeps/unix/sysv/linux/mips/mips64/syscall.S sysdeps/unix/sysv/linux/mips/mips64/sysdep.h sysdeps/unix/sysv/linux/mips/mips64/xstat64.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/mips/mips64/n32/lseek.c sysdeps/unix/sysv/linux/mips/mips64/n32/mmap_internal.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/mips/mips64/n64/fstatat.c sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/mips/sys/ucontext.h @@ -6848,15 +6860,15 @@ Files: sysdeps/unix/sysv/linux/nios2/atomic-machine.h sysdeps/unix/sysv/linux/nios2/sysdep.S sysdeps/unix/sysv/linux/nios2/sysdep.h sysdeps/unix/sysv/linux/nios2/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/nios2/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/nios2/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/nscd_setup_thread.c @@ -6870,7 +6882,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/or1k/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/or1k/clone.c @@ -6883,11 +6895,11 @@ Files: sysdeps/unix/sysv/linux/or1k/clone.c sysdeps/unix/sysv/linux/or1k/swapcontext.S sysdeps/unix/sysv/linux/or1k/sysdep.c sysdeps/unix/sysv/linux/or1k/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/or1k/sys/ucontext.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/paths.h @@ -6931,18 +6943,18 @@ Files: sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies @@ -6966,7 +6978,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/powerpc/powerpc64/le/sysctl.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/riscv/Implies @@ -7061,7 +7073,7 @@ Files: sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h sysdeps/unix/sysv/linux/s390/s390-64/timer_t_was_int_compat.h sysdeps/unix/sysv/linux/s390/s390-64/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/* @@ -7080,15 +7092,15 @@ Files: sysdeps/unix/sysv/linux/sh/____longjmp_chk.S sysdeps/unix/sysv/linux/sh/sysdep.S sysdeps/unix/sysv/linux/sh/sysdep.h sysdeps/unix/sysv/linux/sh/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/sh3/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym @@ -7096,7 +7108,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/sh4/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/sh4/sysdep.h @@ -7105,7 +7117,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sh/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/* @@ -7113,7 +7125,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/bits/a.out.h @@ -7139,7 +7151,7 @@ Files: sysdeps/unix/sysv/linux/sparc/brk_call.h sysdeps/unix/sysv/linux/sparc/readelflib.c sysdeps/unix/sysv/linux/sparc/socket-constants-time64.h sysdeps/unix/sysv/linux/sparc/sysdep.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S @@ -7154,11 +7166,11 @@ Files: sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/sparc32/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S @@ -7184,15 +7196,15 @@ Files: sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/sparc64/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/sys/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/sparc/sys/trap.h @@ -7249,7 +7261,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/x86_64/64/timer_t_was_int_compat.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/unix/sysv/linux/x86_64/Implies @@ -7279,7 +7291,7 @@ Files: sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c sysdeps/unix/sysv/linux/x86_64/x32/lseek.S sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h sysdeps/unix/sysv/linux/x86_64/x32/times.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/wordsize-32/Versions @@ -7291,13 +7303,13 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/wordsize-64/bits/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/wordsize-64/labs.c sysdeps/wordsize-64/ldiv.c sysdeps/wordsize-64/tst-writev.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/x86/Makeconfig @@ -7712,11 +7724,11 @@ Files: sysdeps/x86_64/fpu/Makeconfig sysdeps/x86_64/fpu/test-vector-abi-sincos.h sysdeps/x86_64/fpu/test-vector-abi.h sysdeps/x86_64/fpu/x86_64-math-asm.h -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/x86_64/fpu/multiarch/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/x86_64/fpu/multiarch/Makefile @@ -7733,6 +7745,7 @@ Files: sysdeps/x86_64/fpu/multiarch/Makefile sysdeps/x86_64/fpu/multiarch/e_log-avx.c sysdeps/x86_64/fpu/multiarch/e_log-fma.c sysdeps/x86_64/fpu/multiarch/e_log-fma4.c + sysdeps/x86_64/fpu/multiarch/e_log2-fma.c sysdeps/x86_64/fpu/multiarch/e_log2f-fma.c sysdeps/x86_64/fpu/multiarch/e_logf-fma.c sysdeps/x86_64/fpu/multiarch/e_pow-fma.c @@ -7745,8 +7758,10 @@ Files: sysdeps/x86_64/fpu/multiarch/Makefile sysdeps/x86_64/fpu/multiarch/s_ceilf-c.c sysdeps/x86_64/fpu/multiarch/s_cosf-fma.c sysdeps/x86_64/fpu/multiarch/s_cosf-sse2.c + sysdeps/x86_64/fpu/multiarch/s_expm1-fma.c sysdeps/x86_64/fpu/multiarch/s_floor-c.c sysdeps/x86_64/fpu/multiarch/s_floorf-c.c + sysdeps/x86_64/fpu/multiarch/s_log1p-fma.c sysdeps/x86_64/fpu/multiarch/s_nearbyint-c.c sysdeps/x86_64/fpu/multiarch/s_nearbyintf-c.c sysdeps/x86_64/fpu/multiarch/s_rint-c.c @@ -7775,7 +7790,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysdeps/x86_64/fpu/scripts/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysdeps/x86_64/multiarch/Makefile @@ -7882,7 +7897,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: sysvipc/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: sysvipc/Versions @@ -7893,7 +7908,7 @@ Copyright: no-info-found License: LGPL-2.1+ Files: termios/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: termios/Versions @@ -7909,7 +7924,7 @@ Copyright: 1980, 1982-1995, 2011, The Regents of the University of California. License: BSD-3-clause Files: time/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: time/Depend @@ -7973,7 +7988,7 @@ Files: timezone/Makefile timezone/tst-bz29951.c timezone/tst-timezone.c timezone/tst-tzset.c -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: timezone/africa @@ -8007,7 +8022,7 @@ Copyright: Report to Congress- Not later than 9 months after the effective License: public-domain Files: wcsmbs/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: wcsmbs/Depend @@ -8042,7 +8057,7 @@ Copyright: The GNU Toolchain Authors. License: LGPL-2.1+ Files: wctype/* -Copyright: 02-04, 92-99, 1985, 1987-2024, Free Software Foundation, Inc. +Copyright: 02-04, 92-99, 1985, 1987-2025, Free Software Foundation, Inc. License: LGPL-2.1+ Files: wctype/Versions -- GitLab