Keith Packard, sviluppatore attivo di Debian, leader del progetto X.Org e creatore di numerosi X-extension, tra cui XRender, XComposite e XRandR, rilascio della standard C library , sviluppata per applicazioni su dispositivi embedded con spazio di memoria permanente e RAM limitati. Durante lo sviluppo, parte del codice è stata presa dalla libreria dal progetto Cygwin e , sviluppata per microcontrollori Atmel AVR. Il codice di PicoLibc è sotto licenza BSD. È supportata la compilazione della libreria per architetture ARM (32-bit), i386, RISC-V, x86_64 e PowerPC.
Inizialmente, il progetto è stato sviluppato con il nome 'newlib-nano' ed era volto a rielaborare alcune funzioni ad alta intensità di risorse di Newlib, che risultavano problematiche da utilizzare su dispositivi embedded con poca RAM. Ad esempio, le funzioni stdio sono state sostituite con una versione compatta dalla libreria avrlibc. Il codice è stato anche ripulito da componenti non utilizzati nella build per dispositivi embedded, forniti non sotto licenza BSD. È stata aggiunta una versione semplificata del codice di inizializzazione (crt0) e l'implementazione dei thread locali è stata tradotta da ‘struct _reent’ a un meccanismo TLS (). Per la compilazione è stato utilizzato il toolchain Meson.
Nel nuovo rilascio:
- È stata aggiunta la possibilità di compilazione utilizzando CompCert .
- Il comportamento della funzione 'gamma' è stato allineato con il comportamento della Glibc.
- Nell'implementazione di nano-malloc è stata assicurata la pulizia obbligatoria della memoria restituita.
- Le prestazioni di nano-realloc sono state migliorate, specialmente durante le operazioni di fusione dei blocchi liberi e l'espansione delle dimensioni della heap.
- È stato aggiunto un set di test per verificare la correttezza del funzionamento di malloc.
- Migliorata la compatibilità con la piattaforma Windows e aggiunta la possibilità di compilazione utilizzando il toolchain mingw.
- Nei sistemi ARM è stato utilizzato il registro hardware TLS (Thread-Local Storage) se disponibile.
- 🥇Rilascio della standard C library PicoLibc 1.4.7 | ProHoster
Fonte: opennet.ru
