Keith Packard, a prominent developer of Debian, leader of the X.Org project, and creator of multiple X extensions including XRender, XComposite, and XRandR, a szabványos C könyvtár kiadása , amelyet beágyazott eszközökön való használatra fejlesztenek, korlátozott állandó tároló és RAM mérettel. A fejlesztés során a kód egy része a a Cygwin projektből és , amely az Atmel AVR mikrokontrollerhez készült. A PicoLibc kódja BSD licensz alatt áll. A könyvtár építése ARM (32-bit), i386, RISC-V, x86_64 és PowerPC architektúrákra támogatott.
A projekt kezdetben a „newlib-nano” néven fejlődött, célja pedig egyes memóriát igénylő Newlib funkciók átdolgozása volt, amelyeket nehéz volt használni olyan beágyazott eszközökön, amelyek korlátozott RAM-mal rendelkeznek. Például a stdio funkciókat az avrlibc könyvtárból származó kompakt változatra cserélték. A kódot megtisztították a beágyazott eszközökhöz nem szükséges, BSD licenc alatt nem elérhető alkotóelemekből is. Hozzáadták az inicializáló kód egyszerűsített változatát (crt0), és a helyi szálak megvalósítását az ‘struct _reent’-ről TLS (Thread-Local Storage) mechanizmusra helyezték át.A build során a Meson eszközkészletet használták.
Az új kiadásban:
- Matematikailag ellenőrzött CompCert .
- A ‘gamma’ funkció viselkedése összhangba került a Glibc viselkedésével.
- A nano-malloc megvalósításában kötelező a visszaadott memória tisztítása.
- Növelték a nano-realloc teljesítményét, különösen a szabad blokkok egyesítése és a heap méretének bővítése során végzett műveletek esetén.
- Tesztkészlet hozzáadva a malloc működésének pontosságának ellenőrzésére.
- Javították a Windows platform támogatását és lehetővé tették a mingw eszközökészlettel való buildelést.
- ARM rendszereken, ha elérhető, a TLS (Thread-Local Storage) hardverregisztert használták.
- 🥇A PicoLibc 1.4.7 szabványos C könyvtárának kiadása | ProHoster
Forrás: opennet.ru
