Re: [LFS Trac] #5765: glibc-2.42

"LFS Trac" ([email protected] via lfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.book
Message-ID <[email protected]>
#5765: glibc-2.42
-------------------------+-----------------------
 Reporter:  Joe Locash   |       Owner:  lfs-book
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  12.4
Component:  Book         |     Version:  git
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------
Comment (by Bruce Dubbs):

 Version 2.42

 Major new features:

 * The following ISO C23 function families (introduced in TS
   18661-4:2015) are now supported in <math.h>.  Each family includes
   functions for float, double, long double, _FloatN and _FloatNx, and a
   type-generic macro in <tgmath.h>.

   - Power and absolute-value functions: compoundn, pown, powr, rootn,
     rsqrt.

 * 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, 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 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.

 * GNU Binutils 2.39 or later is now required to build the GNU C Library.

 The following CVEs were fixed in this release, details of which can be
 found in the advisories directory of the release tarball:
 {{{
   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:
 {{{
   [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)
 }}}
-- 
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/5765#comment:6>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.

-- 
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.