Издание на стандартната C библиотека PicoLibc 1.4.7

Кит Паккард (Keith Packard), активен в разработке на Debian, лидер проекта X.Org и создатель множества X-расширений, включая XRender, XComposite и XRandR, публикувал издаване на стандартната Си-библиотека PicoLibc 1.4.7, разрабатываемая за употреба на вградени устройства с ограничен размер на постоянното хранилище и оперативната памет. При разработката част от кода е заимствана от библиотеката newlib от проекта Cygwin и AVR Libc, развивана за микроконтролери Atmel AVR. Кодът на PicoLibc разпространява е под лицензия BSD. Поддържа се компилация на библиотеката за архитектури ARM (32-битови), i386, RISC-V, x86_64 и PowerPC.

Първоначално проектът е развиван под името "newlib-nano" и е бил насочен към преработване на някои ресурсоемки функции на Newlib, които било трудно да се използват на вградени устройства с малко RAM. Например, функциите stdio са заменени с компактна версия от библиотеката avrlibc. Кодът също е бил почистен от неиспользваемите компоненти в сборката за вградени устройства, предоставяни не под лицензия BSD. Добавен е опростен вариант на инициализационния код (crt0), а реализацията на локалните потоци е преместена от ‘struct _reent’ към механизма TLS.storage of thread-localЗа сборката е използван инструментарият Meson.

В новото издание:

  • Добавена е възможност за сборка с използването на математически проверен компилатор CompCert.
  • Добавена е поддръжка за компилатора Clang.
  • Поведенението на функцията ‘gamma’ е приведено в съответствие с поведението на Glibc.
  • В реализацията на nano-malloc е осигурено задължително почистване на върнатата памет.
  • Повишена е производителността на nano-realloc, особено при изпълнение на операции за сливане на свободни блокове и разширяване на размера на купа.
  • Добавен е набор от тестове за проверка на коректността на работата на malloc.
  • Подобрена е поддръжката на платформата Windows и е добавена възможност за сборка с инструментария mingw.
  • На ARM системи при наличие е активиран хардуерният регистър TLS (Thread-Local Storage).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster