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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3807
Зарегистрирован: 20.08.2022

#

Выпуск стандартной Си-библиотеки PicoLibc 1.8.9
Дата публикации:Fri, 07 Feb 2025 22:55:31 +0300




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



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



В новом выпуске:
  • Добавлена поддержка архитектур LoongArch, OpenRISC и LatticMico32.





    Предложена реализация заголовочного файла uchar.h, появившегося в стандарте C11.

    Добавлена настройка nano-malloc-clear-freed для очистки памяти, высвобожденной после выполнения free() или realloc().

    Реализована возможность использования clang multilib на на системах ARM64.

    Осуществлён переход на новый инструментарий picolibc-ci-tools для автоматической сборки в системах непрерывной интеграции.
    Для архитектуры MIPS реализована поддержка технологии "semihosting", позволяющей коду, выполняемому в окружении отладчика или эмулятора, использовать механизмы ввода/вывода хост-системы.


    Для процессоров Xtensa добавлена поддержка picocrt и semihost.

    Добавлены настройки для использования с CoreBoot.


    Добавлена функция memset_explicit(), появившаяся в стандарте C23.


    Таблицы преобразования регистра символов обновлены до спецификации Unicode 15.1.0.

    Из библиотеки newlib перенесены функции asnprintf() и vasnprintf().

    Добавлена поддержка эмулятора FVP (Fixed Virtual Platforms), развиваемого ARM.



    Добавлена поддержка старых версии компилятора GCC (старее 4.4).

    Реализации iconv и locale заменены на более компактные варианты, в которых задействован общий код для работы с кодировками.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62690

Жизнь за Нер'зула!

Ответить