Keith Packard, développeur actif de Debian, leader du projet X.Org et créateur de nombreuses extensions X, y compris XRender, XComposite et XRandR, publication de la bibliothèque standard C , développée pour être utilisée sur des appareils embarqués avec un stockage permanent et une mémoire vive limités. Dans le développement, une partie du code a été empruntée à la bibliothèque du projet Cygwin et , développée pour les microcontrôleurs Atmel AVR. Le code de PicoLibc sous licence BSD. La bibliothèque est compilée pour les architectures ARM (32 bits), i386, RISC-V, x86_64 et PowerPC.
Au départ, le projet a été développé sous le nom de « newlib-nano » et visait à repenser certaines fonctions gourmandes en ressources de Newlib, qui étaient problématiques à utiliser sur des appareils embarqués avec peu de RAM. Par exemple, les fonctions stdio ont été remplacées par une version compacte de la bibliothèque avrlibc. Le code a également été débarrassé des composants non utilisés dans la compilation pour les appareils embarqués, fournis non sous licence BSD. Une version simplifiée du code d'initialisation (crt0) a été ajoutée, et l'implémentation des flux locaux a été transférée de ‘struct _reent’ vers le mécanisme TLS (). L'outil de construction Meson a été utilisé.
Dans cette nouvelle version :
- Ajout de la possibilité de construire avec un CompCert .
- Le comportement de la fonction ‘gamma’ a été harmonisé avec celui de Glibc.
- Dans l'implémentation de nano-malloc, un nettoyage obligatoire de la mémoire retournée a été assuré.
- Les performances de nano-realloc ont été améliorées, en particulier lors des opérations de fusion des blocs libres et d'augmentation de la taille du tas.
- Un ensemble de tests a été ajouté pour vérifier la validité du fonctionnement de malloc.
- Amélioration du support de la plateforme Windows et ajout de la possibilité de construction avec l'outil mingw.
- Sur les systèmes ARM, le registre matériel TLS (Thread-Local Storage) est activé si disponible.
- 🥇Publication de la bibliothèque standard C PicoLibc 1.4.7 | ProHoster
Source : opennet.ru
