Se ha lanzado la biblioteca estándar C PicoLibc 1.8.6

Se ha publicado la versión 1.8.6 de la biblioteca estándar de C PicoLibc, desarrollada por Keith Packard (líder del proyecto X.Org) para su uso en dispositivos integrados con un tamaño limitado de almacenamiento permanente y memoria RAM. Durante el desarrollo, parte del código se tomó de la biblioteca newlib del proyecto Cygwin y AVR Libc, que se desarrolló para microcontroladores Atmel AVR. El código de 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.

Inicialmente, el proyecto se desarrolló bajo el nombre 'newlib-nano' y estaba dirigido a la reestructuración de algunas funciones que consumen muchos recursos de Newlib, las cuales era problemático utilizar en dispositivos integrados con poca RAM. Por ejemplo, en PicoLibc, las funciones stdio se reemplazan por una variante compacta de la biblioteca avrlibc. El código también fue depurado de componentes no utilizados en la compilación para dispositivos integrados que no se distribuyen bajo la licencia BSD. Se añadió una versión simplificada del código de inicialización (crt0), y la implementación de las llamadas se trasladó de ‘struct _reent’ a un mecanismo TLS (almacenamiento local de hilos). Se utilizó la herramienta Meson para la compilación.

En esta nueva versión:

  • Se trasladaron los cambios de Newlib 4.4.0, como el soporte para el tipo 'long double' en arquitecturas i386, RISC-V, Aarch64 y x86_64, soporte para las extensiones RISC-V Zfinx/Zdinx, la posibilidad de usar máscaras al insertar directorios, implementación de un puerto para procesadores Xtensa, y la separación de los controladores printf en archivos individuales para reducir el tamaño durante la vinculación.
  • Se añadieron símbolos ‘__eh_*’ a picolibc.ld para LLVM libunwind.
  • Se incorporó soporte de prueba para sistemas SPARC de 32 bits.
  • Se ha proporcionado soporte para plataformas objetivo con tipos de punto flotante no convencionales, que ahora se reflejan en tipos de 32, 64, 80 y 128 bits en el código de picolibc.
  • Se ha añadido soporte para la arquitectura RISC SuperH.
  • Se mejoró el seguimiento de pila durante la depuración del código de excepciones en sistemas RISC-V.
  • Se añadió la opción ‘-Dfast-bufio=true’ para aumentar la eficiencia de lectura y escritura al usar bufio.
  • Se realizó una limpieza de funciones inline públicas para compartir la semántica de gnu_inline.
  • La mayoría de las funciones fenv para mejorar el rendimiento se han trasladado a utilizar funciones inline (gnu_inline) en lugar de las normales.
  • Se creó una implementación alternativa de ctype que no utiliza un arreglo ctype y realiza comparaciones de valores directamente.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster