29.06.2022

Выпуск стандартных Си-библиотек Musl 1.2.3 и PicoLibc 1.7.6

Представлен релиз стандартной Си-библиотеки Musl 1.2.3, предоставляющей реализацию libc, которая подходит для применения как на стационарных ПК и серверах, так и на мобильных системах, сочетая полноценную поддержку стандартов (как в Glibc) с небольшим размером, низким потреблением ресурсов и высокой производительностью (как в uClibc, dietlibc и Android Bionic). Имеется поддержка всех обязательных интерфейсов C99 и POSIX 2008, а также частично C11 и набор расширений для многопоточного программирования (POSIX threads), управления памятью и работы с локалями. Код Musl поставляется под свободной лицензией MIT.

В новой версии добавлена функция qsort_r, намеченная на включение в будущий стандарт POSIX и применяемая для сортировки массивов с использованием произвольных функций сравнения элементов. Для некоторых моделей CPU PowerPC добавлена поддержка альтернативных SPE FPU (Signal Processing Engine). Внесены изменения, нацеленные на улучшение совместимости, например, связанные с сохранением значения errno, принятием нулевых указателей в gettext и обработкой переменной окружения TZ. Устранены регрессивные изменения в функциях wcwidth и duplocale, а также несколько ошибок в математических функциях, при определённом стечении обстоятельств приводивших к вычислению неверного результата (например, на системах без FPU в fmaf неверно округлялся результат).

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

Источник.