aboutsummaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS186
1 files changed, 177 insertions, 9 deletions
diff --git a/NEWS b/NEWS
index cc66834..30c2b87 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,33 @@ See the end for copying conditions.
Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
using `glibc' in the "product" field.
+Version 2.43
+
+Major new features:
+
+ [Add new features here]
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+ [Add deprecations, removals and changes affecting compatibility here]
+
+Changes to build and runtime requirements:
+
+ [Add changes to build and runtime requirements here]
+
+Security related changes:
+
+The following CVEs were fixed in this release, details of which can be
+found in the advisories directory of the release tarball:
+
+ [The release manager will add the list generated by
+ scripts/process-advisories.sh just before the release.]
+
+The following bugs were resolved with this release:
+
+ [The release manager will add the list generated by
+ scripts/list-fixed-bugs.py just before the release.]
+
Version 2.42
Major new features:
@@ -19,24 +46,59 @@ Major new features:
* On Linux, the pthread_gettid_np function has been added.
-* The ISO C2Y family of unsigned abs functions, i.e.
- uabs, ulabs, ullabs and uimaxabs, are now supported.
+* The ISO C2Y family of unsigned abs functions, i.e. uabs, ulabs,
+ ullabs, and uimaxabs, is now supported.
* On Linux, the <termios.h> interface now supports arbitrary baud rates;
speed_t is redefined to simply be the baud rate specified as an
unsigned int, which matches the kernel interface.
+* The thread-local cache in malloc (tcache) now supports caching of
+ large blocks. This feature can be enabled by setting the tunable
+ glibc.malloc.tcache_max to a larger value (max 4194304). Tcache is
+ also significantly faster for small sizes.
+
+* A new configure option, "--enable-sframe", can be used to enable
+ SFrame support of the GNU C Libraries. SFrame is a new stack trace
+ information format which can be used by backtrace. It requires
+ binutils with a minimum version of 2.45.
+
+* Support for lightweight stack guard pages via madvise and the
+ MADV_GUARD_INSTALL flag has been added to pthread_create.
+
+* Additional optimized and correctly rounded mathematical functions have
+ been imported from the CORE-MATH project, in particular acospif,
+ asinpif, atanpif, atan2pif, cospif, sinpif, tanpif.
+
+* The testsuite has been significantly extended, including coverage of
+ the functionality of the printf and scanf function families in many
+ variants.
+
+* The manual has been significantly extended and updated, particularly
+ the threads, terminal, filesystem, resource, and math chapters.
+
+* Code has been added to detect the x86-64 Intel Arrow Lake, Panther
+ Lake, Clearwater Forest, and Diamond Rapids microarchitectures.
+
+* Regarding S390, support for the new z17 platform has been added.
+
Deprecated and removed features, and other changes affecting compatibility:
-* The glibc.rtld.execstack now supports a compatibility mode to allow
- programs that require an executable stack through dynamic loaded
- shared libraries.
+* The glibc.rtld.execstack tunable now supports a compatibility mode to
+ allow programs that require an executable stack through dynamically
+ loaded shared libraries.
* On Linux, the <termio.h> header and the definition of struct termio
in <sys/ioctl.h> have been removed. The termio interface has been
obsolete since the very first version of POSIX.1 in 1988, replaced
with <termios.h>.
+* The support for TX lock elision of pthread mutexes has been deprecated
+ on all architectures and will be removed in the next release.
+
+* On AArch64 Linux targets supporting the Scalable Matrix Extension
+ (SME), setjmp and sigsetjmp will disable the ZA state of SME.
+
Changes to build and runtime requirements:
* GCC 12.1 or later is now required to build the GNU C Library.
@@ -48,13 +110,119 @@ Security related changes:
The following CVEs were fixed in this release, details of which can be
found in the advisories directory of the release tarball:
- [The release manager will add the list generated by
- scripts/process-advisories.sh just before the release.]
+ GLIBC-SA-2025-0001:
+ assert: Buffer overflow when printing assertion failure message
+ (CVE-2025-0395)
+
+ GLIBC-SA-2025-0003:
+ power10: strcmp fails to save and restore nonvolatile vector
+ registers (CVE-2025-5702)
+
+ GLIBC-SA-2025-0004:
+ power10: strncmp fails to save and restore nonvolatile vector
+ registers (CVE-2025-5745)
+
+ GLIBC-SA-2025-0005:
+ posix: Fix double-free after allocation failure in regcomp
+ (CVE-2025-8058)
The following bugs were resolved with this release:
- [The release manager will add the list generated by
- scripts/list-fixed-bugs.py just before the release.]
+ [5994] stdio: fflush after ungetc on seekable input stream
+ [12724] stdio: fclose violates POSIX 2008 on seekable input streams
+ [25263] dynamic-link: ldd and ld.so fail to resolve $ORIGIN with cross
+ dir symlink
+ [27880] nptl: Please provide a pthread pid accessor
+ [29190] dynamic-link: Symbols with version hash zero lead to crashes,
+ not matched correctly
+ [29459] stdio: fwrite does not return EPIPE when underlying write
+ fails with EPIPE.
+ [31791] nss: [Regression] nss: memory for >8 elements in nsswitch.conf
+ is not freed
+ [32058] libc: qsort leaks memory if C++ exception is thrown from
+ comparison function
+ [32269] dynamic-link: RISC-V IFUNC resolver cannot access gp pointer
+ [32369] stdio: fflush(NULL) doesn't properly flush files opened in
+ read mode
+ [32411] math: THREEp96 seems wrong
+ [32412] dynamic-link: Initial DTV is reallocated using main realloc in
+ auditing mode
+ [32483] locale: ctype.h macros segfault in multithreaded programs with
+ multiple libc.so
+ [32529] stdio: fseek failure on file opened with "rm" mode after
+ ungetc
+ [32535] stdio: fflush failure on file opened with "rm" mode after
+ ungetc
+ [32541] libc: getenv cannot be overridden in static builds
+ [32574] libc: pthread_attr_getstacksize/pthread_attr_getstack return
+ incorrect main stack size
+ [32612] dynamic-link: [aarch64 PAC] _dl_tlsdesc_dynamic can't be
+ unwound through with _Unwind_Backtrace
+ [32626] math: math: log10p1f is not correctly rounded
+ [32627] math: math: sinhf is not correctly rounded
+ [32630] math: math: tanf is not correctly rounded for all rounding
+ modes
+ [32653] dynamic-link: Review options for improving both security and
+ backwards compatibility of glibc 2.41 dlopen / execstack handling
+ [32694] math: wrong clang version 3.4 prereq checks in bits/floatn.h
+ for __float128 support, should be 3.9
+ [32708] libc: Inclusion of sys/mount.h triggers many gcc warnings
+ using -Wshift-overflow=2 -Wsystem-headers
+ [32711] math: math: remainder incorrect sign of zero result
+ [32717] libc: glibc tests fail when bfd is built with --enable-error-
+ execstack=yes
+ [32723] math: [2.41 Regression] /usr/include/bits/floatn.h doesn't
+ work with Intel SYCL compiler
+ [32763] dynamic-link: Static PIE with more than one PT_LOAD segments
+ at offset 0 segfault
+ [32777] crypt: The performance of the rand() function degradation
+ [32781] libc: Inccorect attribute access for sched_getattr
+ [32782] nptl: Race conditions in pthread cancellation causing crash
+ [32786] nptl: pthread_cond_* symbols should probably have had a
+ version bump in 2.41
+ [32795] nptl: aio_suspend_time64 confuses CLOCK_MONOTONIC and
+ CLOCK_REALTIME
+ [32810] dynamic-link: Immediate crash on x86-64 when running with
+ GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC
+ [32823] libc: make[2]: *** [../Rules:248:
+ /home/dave/gnu/glibc/objdir/elf/tst-origin] Error 1
+ [32897] dynamic-link: pthread_getattr_np fails when executable stack
+ tunable is set
+ [32918] math: math: atanhf triggers UB
+ [32919] math: math: coshf triggers UB
+ [32920] math: math: logf triggers UB
+ [32921] math: math: sinhf triggers UB
+ [32922] math: math: cbrtf triggers UB
+ [32923] math: math: cospif triggers UB
+ [32924] math: math: erfcf triggers UB
+ [32925] math: math: sinpif triggers UB
+ [32932] libc: riscv: __riscv_hwprobe function attributes are incorrect
+ [32947] libc: stdlib: wrong iovec array size on __libc_message_impl
+ [32980] manual: getopt_long_only does not check long options first, as
+ the manual claims
+ [32981] ports: elf/tst-execstack-prog-static-tunable fails on
+ sparc64-linux-gnu
+ [32987] libc: New tst-dlopen-sgid test FAILs
+ [32996] malloc: i386 TLS helper functions don't preserve XMM registers
+ [33035] libc: [2.27 regression] Linux: __close_nocancel_nostatus
+ clobbers errno
+ [33056] string: Power 10 strcmp clobbers nonvolatile vector registers
+ (CVE-2025-5702)
+ [33059] string: Power 10 memchr clobbers v20
+ [33060] string: Power 10 strncmp clobbers nonvolatile vector registers
+ (CVE-2025-5745)
+ [33088] dynamic-link: __ehdr_start may need run-time relocation
+ [33089] build: [2.42 Regression] GCC 14.2.1 failed to build glibc
+ [33134] libc: mcount_internal shouldn't use vector/r16-r31 registers
+ nor call memcpy/memset
+ [33139] stdio: %n after static dlopen is unreliable if file
+ descriptors are exhausted
+ [33165] build: [2.42 Regression] FAIL: elf/check-localplt
+ [33173] math: Wrong IFUNC selector is used for modf/modff
+ [33185] regex: Double-free after memory allocation failure in regcomp
+ bracket expression parsing (CVE-2025-8058)
+ [33224] dynamic-link: _dl_debug_state hook no longer works (since
+ 8329939a37f483a16013dd8af8303cbcb86d92cb)
Version 2.41