Keith Packard, un dezvoltator activ Debian, liderul proiectului X.Org și creatorul multor extensii X, inclusiv XRender, XComposite și XRandR, lansarea bibliotecii standard C , care este dezvoltată pentru utilizarea pe dispozitive integrate cu un spațiu de stocare permanent și memorie RAM limitate. În timpul dezvoltării, o parte din cod a fost împrumutată din biblioteca proiectului Cygwin și , dezvoltată pentru microcontrolerele Atmel AVR. Codul PicoLibc este sub licența BSD. Se suportă compilarea bibliotecii pentru arhitecturi ARM (32-bit), i386, RISC-V, x86_64 și PowerPC.
Inițial, proiectul a evoluat sub denumirea de «newlib-nano» și a fost destinat revizuirii unor funcții consumatoare de resurse din Newlib, care erau dificil de utilizat pe dispozitive încorporate cu RAM redus. De exemplu, funcțiile stdio au fost înlocuite cu o variantă compactă din biblioteca avrlibc. De asemenea, codul a fost curățat de componentele neutilizate dintr-o construcție pentru dispozitive încorporate, furnizate fără licență BSD. A fost adăugată o variantă simplificată a codului de inițializare (crt0), iar implementarea fluxurilor locale a fost transformată din ‘struct _reent’ în mecanismul TLS (). Unelte pentru construcție sunt Meson.
În noua versiune:
- A fost adăugată opțiunea de construcție folosind CompCert .
- Comportamentul funcției ‘gamma’ a fost aliniat comportamentului Glibc.
- În implementarea nano-malloc a fost asigurată curățarea obligatorie a memoriei returnate.
- Performanța nano-realloc a fost îmbunătățită, în special în timpul operațiunilor de unire a blocurilor libere și extinderea dimensiunii heap-ului.
- A fost adăugată o suită de teste pentru a verifica corectitudinea funcționării malloc.
- A fost îmbunătățit suportul pentru platforma Windows și a fost adăugată opțiunea de construcție folosind uneltele mingw.
- Pe sistemele ARM, registrul hardware TLS (Thread-Local Storage) este utilizat atunci când este disponibil.
- 🥇 Lansarea bibliotecii standard C PicoLibc 1.4.7 | ProHoster
Sursa: opennet.ro
