The release of the standard C library Musl 1.2.3 has been presented, providing an implementation of libc suitable for use on both desktop PCs and servers, as well as on mobile systems, combining full support for standards (like in Glibc) with a small size, low resource consumption, and high performance (like in 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 localization. Musl code is distributed under the MIT License.
The new version adds the qsort_r function, intended for inclusion in a future POSIX standard and used for sorting arrays with arbitrary comparison functions. Support for alternative SPE FPU (Signal Processing Engine) has been added for some PowerPC CPU models. Modifications aimed at improving compatibility have been made, including those related to preserving the value of errno, accepting null pointers in gettext, and handling the environment variable TZ. Regressive changes in the wcwidth and duplocale functions have been eliminated, along with several bugs in mathematical functions that, under certain conditions, led to incorrect results (for example, in fmaf on systems without an FPU, the result was incorrectly rounded).
Additionally, it is worth noting the recently released standard C library PicoLibc 1.7.6, developed by Keith Packard (the leader of the X.Org project) for use on embedded devices with limited sizes of persistent storage and RAM. During its development, part of the code is borrowed from the newlib library of the Cygwin project and AVR Libc, which was developed for Atmel AVR microcontrollers. PicoLibc code is distributed under the BSD license. The library supports building for ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, and PowerPC architectures. The new version implements the use of mathematical inline functions for the aarch64 architecture and the possibility of using mathematical inline functions in applications on arm and risc-v architectures.
Source: opennet.ru
