Keith Packard, sviluppatore attivo di Debian, leader del progetto X.Org e creatore di numerosi estensioni X, tra cui XRender, XComposite e XRandR, rilascio della libreria standard C , sviluppata per l'uso su dispositivi embedded con spazio di archiviazione permanente e memoria RAM limitati. Durante lo sviluppo, parte del codice è stato preso dalla libreria del progetto Cygwin e , sviluppata per i microcontrollori Atmel AVR. Il codice di PicoLibc è concesso in licenza BSD. È supportata la compilazione della libreria per le architetture ARM (32-bit), i386, RISC-V, x86_64 e PowerPC.
Inizialmente, il progetto è stato sviluppato con il nome "newlib-nano" e mirava a rivedere alcune funzioni ad alta intensità di risorse di Newlib, che erano 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 compilazione per dispositivi embedded, forniti non sotto licenza BSD. È stata aggiunta una versione semplificata del codice di inizializzazione (crt0), e l'implementazione dei flussi locali è stata trasferita da 'struct _reent' al meccanismo TLS (). Per la compilazione è stato utilizzato lo strumento Meson.
Nel nuovo rilascio:
- È stata aggiunta la possibilità di compilare utilizzando CompCert .
- Il comportamento della funzione 'gamma' è stato allineato a quello della Glibc.
- Nell'implementazione di nano-malloc è stata garantita la pulizia obbligatoria della memoria restituita.
- È stata migliorata la performance di nano-realloc, soprattutto nelle operazioni di fusione dei blocchi liberi e nell'espansione della dimensione della heap.
- È stato aggiunto un insieme di test per verificare la correttezza di malloc.
- È stato migliorato il supporto per la piattaforma Windows e aggiunta la possibilità di compilare utilizzando lo strumento mingw.
- Sui sistemi ARM è stato attivato il registro hardware TLS (Thread-Local Storage) se disponibile.
- Keith Packard, sviluppatore attivo di Debian, leader del progetto X.Org e creatore di molte estensioni X, tra cui XRender, XComposite e XRandR, ha pubblicato la versione 1.4.7 della libreria standard C PicoLibc, sviluppata per l'uso su dispositivi embedded con spazio di archiviazione e memoria limitati. Durante lo sviluppo, parte del codice è stato preso dalla libreria newlib del progetto Cygwin e da AVR Libc, sviluppata per
Fonte: opennet.ru
