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

Кит Паккард (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.
  • Решены проблемы при замене универсального кода на реализации, специфичные для определённых архитектур.



Источник: http://www.opennet.ru/opennews/art.shtml? num=54378

© OpenNet