Se ha lanzado la versión de la biblioteca estándar C Musl 1.2.3, que proporciona una implementación de libc adecuada para su uso tanto en PC de escritorio y servidores como en sistemas móviles, combinando un pleno soporte de estándares (como en Glibc) con un tamaño reducido, bajo consumo de recursos y alto rendimiento (como en uClibc, dietlibc y Android Bionic). Se ofrece soporte para todas las interfaces obligatorias de C99 y POSIX 2008, así como soporte parcial para C11 y un conjunto de extensiones para programación multihilo (hilos POSIX), gestión de memoria y manejo de locales. El código Musl se encuentra disponible bajo la licencia libre MIT.
La nueva versión incluye la función qsort_r, que está prevista para ser incluida en el futuro estándar POSIX y se utiliza para ordenar arreglos con funciones de comparación arbitrarias. Se ha agregado soporte para alternativas SPE FPU (Signal Processing Engine) en algunos modelos de CPU PowerPC. Se han realizado modificaciones destinadas a mejorar la compatibilidad, por ejemplo, en relación con la preservación del valor de errno, la aceptación de punteros nulos en gettext y el manejo de la variable de entorno TZ. Se han corregido regresiones en las funciones wcwidth y duplocale, así como varios errores en funciones matemáticas, que en determinadas circunstancias llevaron a resultados incorrectos (por ejemplo, en sistemas sin FPU, el resultado de fmaf se redondeaba incorrectamente).
También se puede mencionar el lanzamiento, hace unos días, de la biblioteca estándar C PicoLibc 1.7.6, desarrollada por Keith Packard (líder del proyecto X.Org) para su uso en dispositivos embebidos con un tamaño de almacenamiento permanente y memoria RAM limitados. En su desarrollo, parte del código se ha tomado de la biblioteca newlib del proyecto Cygwin y de AVR Libc, que fue desarrollada para microcontroladores Atmel AVR. El código PicoLibc se distribuye bajo la licencia BSD. Se admite la compilación de la biblioteca para arquitecturas ARM (32 bits), Aarch64, i386, RISC-V, x86_64, m68k y PowerPC. En la nueva versión, se ha implementado el uso de funciones matemáticas inline para la arquitectura Aarch64 y la posibilidad de utilizar funciones matemáticas inline en aplicaciones para arquitecturas ARM y RISC-V.
Fuente: opennet.ru
