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

8 января 2021 года

Кит Паккард (Keith Packard), активный разработчик Debian, лидер проекта X.Org и создатель множества X-расширений, включая XRender, XComposite и XRandR, опубликовал выпуск стандартной Си-библиотеки PicoLibc 1.5, развиваемой для применения на встраиваемых устройствах с ограниченным размером постоянного хранилища и оперативной памяти. При разработке часть кода заимствована из библиотеки 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.

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

  • Повышена совместимость с компиляторами C++.
  • Добавлен spec-файл для GCC и сценарий для связывания приложений на языке С++ с использованием компилятора G++.
  • Решены проблемы со сборкой при использовании Clang.
  • Исправлены ошибки в реализации Nano malloc и в libm.
  • Перенесены изменения из кода newlib 4.1.0.
  • Добавлены тесты для всех функций semihost 2.0.
  • Улучшена поддержка архитектуры RISC-V.
  • Решены проблемы при замене универсального кода на реализации, специфичные для определённых архитектур.

Источники

править


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

Комментарии

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