Keith Packard, aktiivne Debian arendaja, X.Org projekti juht ja mitmete X-laienduste, sealhulgas XRender, XComposite ja XRandR looja, standard C library väljaanne , mis on arendatud kasutamiseks sisseehitatud seadmetes, millel on piiratud püsivälimuse ja mälu suurus. Arendamisel on osa koodist laenatud raamatukogust Cygwin projektist ja , mis on arendatud Atmeli AVR mikroprotsessorite jaoks. PicoLibc kood on BSD litsentsi all. Raamatukogu koostamine toetab arhitektuure ARM (32-bit), i386, RISC-V, x86_64 ja PowerPC.
Alguses arenes projekt nimega "newlib-nano" ja see oli suunatud mõningate ressursside mahukate funktsioonide ümberkirjutamisele Newlibis, mida oli keeruline kasutada madala RAM-iga integreeritud seadmetes. Näiteks standardse IO funktsioonid asendati avrlibc raamatukogust tulnud kompaktse variandiga. Kood puhastati ka mittekasutatavatest koostisosadest, mis ei ole BSD litsentsi alusel. Lisatud on lihtsustatud initsialiseerimiskood (crt0), ja kohalike voogude teostamine viidi üle 'struct _reent' mehhanismilt TLS-ile.) . Ehitusprotsessis kasutatakse Meson tööriistu.
Uues väljaandes:
- Lisatud võimalus ehitada kompilaator .
- Lisatud toetus Clang kompilaatorile.
- Funktsiooni 'gamma' käitumine viidi vastavusse Glibci käitumisega.
- nano-malloc rakenduses on tagatud tagastatava mälu kohustuslik puhastamine.
- Parandatud nano-realloc efektiivsust, eriti vaba plokkide liitmise ja hunniku suuruse suurendamise operatsioonide käigus.
- Lisatud testide kogum malloci õige toimimise kontrollimiseks.
- Parandatud Windowsi platvormi tuge ja lisatud võimekus koostada mingw tarkvara tööriistadega.
- ARM süsteemides kasutatakse olemasoleva TLS (Thread-Local Storage) riistvaralist registrit.
Allikas: opennet.ru
