Lanzamiento de la biblioteca estándar C PicoLibc 1.4.7

Keith Packard, desarrollador activo de Debian, líder del proyecto X.Org y creador de numerosas extensiones X, incluyendo XRender, XComposite y XRandR, publicó lanzamiento de la biblioteca estándar de C PicoLibc 1.4.7, desarrollada para ser utilizada en dispositivos embebidos con tamaño de almacenamiento permanente y memoria RAM limitados. Al desarrollar, parte del código se tomó de la biblioteca newlib del proyecto Cygwin y AVR Libc, desarrollada para microcontroladores de Atmel AVR. El código de PicoLibc se distribuye se publica bajo la licencia BSD. Se soporta la construcción de la biblioteca para arquitecturas ARM (32-bit), i386, RISC-V, x86_64 y PowerPC.

Inicialmente, el proyecto se desarrolló bajo el nombre «newlib-nano» y estaba destinado a rehacer algunas funciones de Newlib que consumían muchos recursos y que eran problemáticas de usar en dispositivos integrados con poca RAM. Por ejemplo, las funciones de stdio fueron reemplazadas por una versión compacta de la biblioteca avrlibc. El código también fue limpiado de componentes no utilizados en la compilación para dispositivos integrados que no se suministraban bajo la licencia BSD. Se agregó una versión simplificada del código de inicialización (crt0), y la implementación de flujos locales fue trasladada de ‘struct _reent’ al mecanismo TLS (almacenamiento local de hilos). Se utilizó la herramienta Meson para la compilación.

En esta nueva versión:

  • Se añadió la capacidad de compilación utilizando un compilador matemáticamente verificado CompCert.
  • Se añadió soporte para el compilador Clang.
  • El comportamiento de la función ‘gamma’ ha sido ajustado para coincidir con el comportamiento de Glibc.
  • En la implementación de nano-malloc se garantiza la limpieza obligatoria de la memoria devuelta.
  • Se mejoró el rendimiento de nano-realloc, especialmente al realizar operaciones de fusión de bloques libres y ampliación del tamaño del montón.
  • Se añadió un conjunto de pruebas para comprobar la corrección del funcionamiento de malloc.
  • Se mejoró el soporte para la plataforma Windows y se añadió la capacidad de compilación utilizando la herramienta mingw.
  • En los sistemas ARM se utiliza el registro de hardware TLS (Thread-Local Storage) si está disponible.

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