Keith Packard, aktivní vývojář Debianu, vedoucí projektu X.Org a tvůrce mnoha X rozšíření, včetně XRender, XComposite a XRandR, vydání standardní knihovny jazyka C , která je vyvíjena pro použití na vestavných zařízeních s omezenou velikostí trvalého úložiště a operační paměti. Při vývoji byla část kódu převzata z knihovny z projektu Cygwin a , která byla vyvíjena pro mikrokontroléry Atmel AVR. Kód PicoLibc je licencován pod licencí BSD. Knihovna je podpůrná pro architektury ARM (32-bit), i386, RISC-V, x86_64 a PowerPC.
Projekt původně vznikl pod názvem „newlib-nano“ a měl za cíl přepracovat některé výpočetně náročné funkce Newlib, které byly problematické pro použití na vestavěných zařízeních s malou pamětí RAM. Například funkce stdio byly nahrazeny kompaktní verzí z knihovny avrlibc. Kód byl také vyčištěn od nepoužívaných částí, které nebyly dodávány pod licencí BSD. Byla přidána zjednodušená varianta inicializačního kódu (crt0) a implementace lokálních proudů byla převedena z 'struct _reent' na mechanismus TLS (Thread-Local Storage). Pro sestavení byl použit nástroj Meson.Přidána možnost sestavení pomocí
V novém vydání:
- matematicky verifikovaného CompCert .
- Chování funkce ‘gamma’ bylo přizpůsobeno chování Glibc.
- V implementaci nano-malloc je zajištěno povinné vymazání vrácené paměti.
- Zvýšena výkonnost nano-realloc, zejména při sloučení volných bloků a zvětšení velikosti haldy.
- Přidán soubor testů pro ověření správnosti fungování malloc.
- Vylepšena podpora platformy Windows a přidána možnost sestavení pomocí nástroje mingw.
- Na systémech ARM je při dostupnosti využíván hardwarový registr TLS (Thread-Local Storage).
- 🥇Vydání standardní knihovny jazyka C PicoLibc 1.4.7 | ProHoster
Zdroj: opennet.ru
