Lanzamiento de las bibliotecas C estándar Musl 1.2.3 y PicoLibc 1.7.6

Se presenta el lanzamiento de la biblioteca C estándar Musl 1.2.3, que proporciona una implementación de libc, que es adecuada para su uso tanto en PC de escritorio como en servidores, así como en sistemas móviles, combinando soporte completo para estándares (como en Glibc) con un pequeño tamaño, bajo consumo de recursos y alto rendimiento (como en uClibc, dietlibc y Android Bionic). Hay soporte para todas las interfaces C99 y POSIX 2008 requeridas, así como parcialmente C11 y un conjunto de extensiones para programación multiproceso (subprocesos POSIX), administración de memoria y trabajo con configuraciones regionales. El código Musl se proporciona bajo la licencia MIT gratuita.

La nueva versión agrega la función qsort_r, que está prevista para su inclusión en un futuro estándar POSIX y se utiliza para ordenar matrices utilizando funciones de comparación de elementos arbitrarios. Para algunos modelos de CPU PowerPC, se ha agregado compatibilidad con SPE FPU (motor de procesamiento de señales) alternativas. Se han realizado cambios para mejorar la compatibilidad, como almacenar errno, aceptar punteros nulos en gettext y manejar la variable de entorno TZ. Se han corregido cambios regresivos en las funciones wcwidth y duplocale, así como varios errores en funciones matemáticas que, en determinadas circunstancias, conducían al cálculo de un resultado incorrecto (por ejemplo, en sistemas sin FPU, fmaf redondeó incorrectamente el resultado). .

Además, podemos destacar el lanzamiento de la biblioteca C estándar PicoLibc 1.7.6, lanzada hace unos días, desarrollada por Keith Packard (líder del proyecto X.Org) para su uso en dispositivos integrados con una cantidad limitada de almacenamiento permanente y RAM. Durante el desarrollo, parte del código se tomó prestada de la biblioteca newlib del proyecto Cygwin y AVR Libc, desarrollada para los microcontroladores Atmel AVR. El código PicoLibc se distribuye bajo licencia BSD. El ensamblaje de la biblioteca es compatible con las arquitecturas ARM (32 bits), Aarch64, i386, RISC-V, x86_64, m68k y PowerPC. La nueva versión implementa el uso de funciones matemáticas en línea para la arquitectura aarch64 y la capacidad de usar funciones matemáticas en línea en aplicaciones en las arquitecturas arm y risc-v.

Fuente: opennet.ru

Añadir un comentario