Release of the standard C library Musl 1.2.6

After two years of development, the release of the standard C library Musl 1.2.6 is presented, providing an implementation of libc suitable for use on both desktop PCs and servers as well as mobile systems, combining full standards support (like Glibc) with a small size, low resource consumption, and high performance (like uClibc, dietlibc, and Android Bionic). It supports all mandatory interfaces of C99 and POSIX 2008, as well as partial support for C11 and a set of extensions for multithreading (POSIX threads), memory management, and locale handling. The Musl code is provided under the MIT open-source license.

Key Changes:

  • The posix_getdents function, introduced in the POSIX-2024 standard, has been implemented. This function reads the contents of a directory associated with an open file descriptor and places information about subdirectories and files into posix_dent structures with the ability to restrict the maximum size.
  • A Linux-specific function renameat2 has been added, providing means for the atomic renaming of two files (the first file is renamed to the second, and the second to the first). The new function differs from renameat by having an additional flag field — without setting the flag, the behavior of renameat2 is identical to renameat, and when the RENAME_NOREPLACE flag is specified, the renaming operation does not replace an existing file.
  • Support for the TLSDESC (Thread-Local Storage Descriptor) mechanism has been added for Loongarch64 systems for efficient access to variables in thread-local storage.
  • The clock_gettime function has been optimized on riscv32, riscv64, powerpc, powerpc64, and s390x architectures using vDSO. vDSO (virtual dynamic shared object) allows the syscall handler to be moved from the kernel to user space, avoiding context switches.
  • To determine CPU capabilities at runtime for compilers, the symbol __getauxval has been transitioned to the public ABI.
  • A vulnerability (CVE-2025-26519) leading to a buffer overflow when converting specially formatted text from EUC-KR encoding to UTF-8 using the iconv() function has been addressed. This vulnerability was discovered over a year ago and was mitigated before release by applying a patch.
  • Compatibility issues in the functions initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt, and vdso, as well as in the header files sched.h and shadow.h have been resolved.
  • Improved compliance with specifications in functions pwrite (issue with O_APPEND resolved), mbnrtowcs (POSIX-2024 requirements considered), strptim (POSIX-2024e requirements considered), inet_ntop (RFC 5952 compliance ensured).

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster