PicoLibc 1.4.7 Standaard C-biblioteekvrystelling

Keith Packard, aktiewe Debian-ontwikkelaar, leier van die X.Org-projek en skepper van baie X-uitbreidings, insluitend XRender, XComposite en XRandR, опубликовал vrystelling van die standaard C-biblioteek PicoLibc 1.4.7, ontwikkel vir gebruik op ingebedde toestelle met beperkte permanente berging en RAM. Tydens ontwikkeling is 'n deel van die kode by die biblioteek geleen nuwe lib van die Cygwin-projek en AVR Libc, ontwikkel vir Atmel AVR mikrobeheerders. PicoLibc-kode versprei deur onder BSD-lisensie. Biblioteeksamestelling word ondersteun vir ARM (32-bis), i386, RISC-V, x86_64 en PowerPC argitekture.

Aanvanklik is die projek ontwikkel onder die naam "newlib-nano" en was daarop gemik om sommige van die hulpbron-intensiewe funksies van Newlib te herwerk, wat problematies was om op ingebedde toestelle met min RAM te gebruik. Byvoorbeeld, die stdio-funksies is vervang met 'n kompakte weergawe van die avrlibc-biblioteek. Die kode is ook skoongemaak van nie-BSD-gelisensieerde komponente wat nie in die ingebedde bou gebruik word nie. 'n Vereenvoudigde weergawe van die inisialiseringskode (crt0) is bygevoeg, en die implementering van plaaslike drade is verskuif van 'struct _reent' na die TLS-meganisme (draad-plaaslike berging). Die Meson-gereedskapstel word vir samestelling gebruik.

In die nuwe vrystelling:

  • Bygevoeg die vermoë om te bou met behulp van wiskundig geverifieer samesteller CompCert.
  • Bygevoeg ondersteuning vir die Clang samesteller.
  • Die gedrag van die 'gamma'-funksie is in lyn gebring met die gedrag van Glibc.
  • Die nano-malloc-implementering verseker dat teruggekeerde geheue uitgevee word.
  • Verbeterde werkverrigting van nano-realloc, veral wanneer gratis blokke saamgevoeg word en hoopgrootte vergroot.
  • Het 'n stel toetse bygevoeg om die korrekte werking van malloc na te gaan.
  • Verbeterde ondersteuning vir die Windows-platform en bygevoeg die vermoë om te bou met behulp van die mingw toolkit.
  • Op ARM-stelsels, indien beskikbaar, is die TLS (Thread-Local Storage) hardewareregister geaktiveer.

Bron: opennet.ru