Keith Packard, aktiv udvikler af Debian, leder af X.Org-projektet og skaber af mange X-udvidelser, herunder XRender, XComposite og XRandR, udgivelse af den standard C-bibliotek , der udvikles til brug på indlejrede enheder med begrænset størrelse på fast lager og RAM. Ved udviklingen er en del af koden lånt fra biblioteket fra Cygwin-projektet og , der blev udviklet til Atmel AVR-mikrocontrollere. Koden til PicoLibc er under BSD-licens. Biblioteket understøtter kompilering for arkitekturer som ARM (32-bit), i386, RISC-V, x86_64 og PowerPC.
Projektet blev oprindeligt udviklet under navnet "newlib-nano" og var rettet mod at omarbejde nogle ressourcekrævende funktioner fra Newlib, som var problematiske at bruge på indlejrede enheder med lille RAM. For eksempel blev stdio-funktioner erstattet med en kompakt version fra avrlibc-biblioteket. Koden blev også renset for ikke-brugte komponenter fra indlejrede enheder, der ikke blev leveret under BSD-licens. En forenklet version af initialiseringskoden (crt0) blev tilføjet, og implementeringen af lokale tråde blev ændret fra ‘struct _reent’ til TLS-mekanismen (). Byggeværktøjet Meson anvendes.
I den nye version:
- Muligheden for at bygge med brug af kompilator .
- Understøttelse af Clang-kompilator er blevet tilføjet.
- Funktionen ‘gamma’ er blevet tilpasset til at matche adfærden fra Glibc.
- I nano-malloc implementeringen er der sikret obligatorisk oprydning af den returnerede hukommelse.
- Ydelsen for nano-realloc er forbedret, især ved fusion af frie blokke og udvidelse af bunke-størrelse.
- Et sæt test er blevet tilføjet for at kontrollere korrektheden af malloc.
- Der er forbedret understøttelse til Windows-platformen og tilføjet muligheden for at bygge med mingw-værktøjet.
- På ARM-systemer anvendes hardware-registret TLS (Thread-Local Storage), hvis det er tilgængeligt.
Kilde: opennet.ru
