PicoLibc 1.4.7 versió estàndard de la biblioteca C

Keith Packard, desenvolupador actiu de Debian, líder del projecte X.Org i creador de moltes extensions X, incloses XRender, XComposite i XRandR, publicat llançament de la biblioteca C estàndard PicoLibc 1.4.7, desenvolupat per al seu ús en dispositius incrustats amb emmagatzematge permanent limitat i RAM. Durant el desenvolupament, part del codi es va agafar en préstec de la biblioteca newlib del projecte Cygwin i AVR Libc, desenvolupat per als microcontroladors Atmel AVR. Codi PicoLibc Distribuït per sota llicència BSD. El muntatge de la biblioteca és compatible amb arquitectures ARM (32 bits), i386, RISC-V, x86_64 i PowerPC.

Inicialment, el projecte es va desenvolupar amb el nom de "newlib-nano" i tenia com a objectiu reelaborar algunes de les funcions de Newlib que feien un gran consum de recursos, que eren problemàtiques d'utilitzar en dispositius incrustats amb poca memòria RAM. Per exemple, les funcions stdio s'han substituït per una versió compacta de la biblioteca avrlibc. El codi també s'ha netejat de components no amb llicència BSD que no s'utilitzen a la compilació incrustada. S'ha afegit una versió simplificada del codi d'inicialització (crt0) i la implementació de fils locals s'ha mogut de 'struct _reent' al mecanisme TLS (emmagatzematge local de fils). El conjunt d'eines Meson s'utilitza per al muntatge.

A la nova versió:

  • S'ha afegit la possibilitat de construir utilitzant verificat matemàticament compilador CompCert.
  • S'ha afegit suport per al compilador Clang.
  • El comportament de la funció "gamma" s'ha alineat amb el comportament de Glibc.
  • La implementació nano-malloc garanteix que la memòria retornada s'esborra.
  • Rendiment millorat del nano-realloc, especialment quan es combinen blocs lliures i s'amplien la mida de l'emmagatzematge.
  • S'ha afegit un conjunt de proves per comprovar el correcte funcionament de malloc.
  • S'ha millorat el suport per a la plataforma Windows i s'ha afegit la possibilitat de crear-los amb el kit d'eines mingw.
  • Als sistemes ARM, si està disponible, el registre de maquinari TLS (Thread-Local Storage) està habilitat.

Font: opennet.ru