Քեյթ Փաքարդ, ակտիվ մշակող Debian, X.Org նախագծի ղեկավարը և բազմաթիվ X ընդլայնումների ստեղծողը, այդ թվում՝ XRender-ի, XComposite-ի և XRandR-ի, ստանդարտ C գրադարանի թողարկումը , մշակվել է սահմանափակ հիշողություն և օպերատիվ հիշողություն ունեցող ներդրված սարքերի վրա օգտագործելու համար: Մշակման ընթացքում կոդի մի մասը փոխառվել է գրադարանից: Cygwin նախագծից և , մշակված Atmel AVR միկրոկոնտրոլերների համար։ PicoLibc կոդը BSD լիցենզիայի ներքո: Աջակցվում է ARM (32-բիթ), i386, RISC-V, x86_64 և PowerPC ճարտարապետությունների համար նախատեսված գրադարանային հավաքածու:
Նախագիծը սկզբնապես մշակվել է «newlib-nano» անվամբ և նպատակ ուներ վերագործարկել որոշ ռեսուրսատար Newlib ֆունկցիաներ, որոնք խնդրահարույց էին սահմանափակ օպերատիվ հիշողությամբ ներդրված սարքերի վրա օգտագործելու համար։ Օրինակ, stdio ֆունկցիաները փոխարինվել են avrlibc գրադարանի կոմպակտ տարբերակով։ Կոդը նաև մաքրվել է ներդրված սարքի կառուցվածքում չօգտագործված բաղադրիչներից, որոնք չեն թողարկվել BSD լիցենզիայի ներքո։ Ավելացվել է նախնականացման կոդի պարզեցված տարբերակը (crt0), և տեղական հոսքերի իրականացումը «struct _reent»-ից փոխվել է TLS մեխանիզմի ()։ Մեզոնային գործիքներն օգտագործվել են հավաքման համար։
Նոր թողարկումում.
- Ավելացվել է կառուցելու հնարավորություն՝ օգտագործելով կոմպիլյատոր .
- Ավելացվել է Clang կոմպիլյատորի աջակցությունը։
- «Գամմա» ֆունկցիայի վարքագիծը համապատասխանեցվել է Glibc-ի վարքագծին։
- Nano-malloc իրականացումը ապահովում է վերադարձված հիշողության պարտադիր մաքրումը։
- Նանո-վերալիցքավորման արդյունավետության բարելավում, հատկապես ազատ բլոկների միաձուլման և կույտի չափը մեծացնելու ժամանակ։
- Ավելացվել է թեստերի հավաքածու՝ malloc-ի ճիշտ աշխատանքը ստուգելու համար։
- Բարելավված հարթակի աջակցություն Windows и добавлена возможность сборки с использованием инструментария mingw.
- ARM համակարգերում TLS (Thread-Local Storage) սարքային գրանցիչը միացված է, եթե այն առկա է։
Source: opennet.ru
