Выпуск стандартной Си-библиотеки PicoLibc 1.4.7

26 октября 2020 года

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

Изначально проект развивался под именем "newlib-nano" и был нацелен на переработку некоторых ресурсоёмких функций Newlib, которые было проблематично использовать на встраиваемых устройствах с небольшим ОЗУ. Например, функции stdio были заменены на компактный вариант из библиотеки avrlibc. Код также был вычищен от не используемых в сборке для встраиваемых устройств компонентов, поставляемых не под лицензией BSD. Добавлен упрощённый вариант кода инициализации (crt0), а реализация локальных потоков переведена с 'struct _reent' на механизм TLS (thread-local storage). Для сборки задействован инструментарий Meson.

В новом выпуске:

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

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск стандартной Си-библиотеки PicoLibc 1.4.7», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.