Кит Паккард (Keith Packard), активен в разработке на Debian, лидер проекта X.Org и создатель множества X-расширений, включая XRender, XComposite и XRandR, издаване на стандартната Си-библиотека , разрабатываемая за употреба на вградени устройства с ограничен размер на постоянното хранилище и оперативната памет. При разработката част от кода е заимствана от библиотеката от проекта Cygwin и , развивана за микроконтролери Atmel AVR. Кодът на PicoLibc е под лицензия BSD. Поддържа се компилация на библиотеката за архитектури ARM (32-битови), i386, RISC-V, x86_64 и PowerPC.
Първоначално проектът е развиван под името "newlib-nano" и е бил насочен към преработване на някои ресурсоемки функции на Newlib, които било трудно да се използват на вградени устройства с малко RAM. Например, функциите stdio са заменени с компактна версия от библиотеката avrlibc. Кодът също е бил почистен от неиспользваемите компоненти в сборката за вградени устройства, предоставяни не под лицензия BSD. Добавен е опростен вариант на инициализационния код (crt0), а реализацията на локалните потоци е преместена от ‘struct _reent’ към механизма TLS.За сборката е използван инструментарият Meson.
В новото издание:
- Добавена е възможност за сборка с използването на компилатор .
- Добавена е поддръжка за компилатора Clang.
- Поведенението на функцията ‘gamma’ е приведено в съответствие с поведението на Glibc.
- В реализацията на nano-malloc е осигурено задължително почистване на върнатата памет.
- Повишена е производителността на nano-realloc, особено при изпълнение на операции за сливане на свободни блокове и разширяване на размера на купа.
- Добавен е набор от тестове за проверка на коректността на работата на malloc.
- Подобрена е поддръжката на платформата Windows и е добавена възможност за сборка с инструментария mingw.
- На ARM системи при наличие е активиран хардуерният регистър TLS (Thread-Local Storage).
Източник: opennet.ru
