После 10 месяцев разработки представлен релиз стандартной Си-библиотеки Musl 1.2.5, предоставляющей реализацию libc, которая подходит для применения как на стационарных ПК и серверах, так и на мобильных системах, сочетая полноценную поддержку стандартов (как в Glibc) с небольшим размером, низким потреблением ресурсов и высокой производительностью (как в uClibc, dietlibc и Android Bionic). Имеется поддержка всех обязательных интерфейсов C99 и POSIX 2008, а также частично C11 и набор расширений для многопоточного программирования (POSIX threads), управления памятью и работы с локалями. Код Musl поставляется под свободной лицензией MIT.
Основные изменения:
- Добавлена функция statx(), которая отличается от fstatat64 наличием дополнительного флагового аргумента. В случае, если ядро не поддерживает системный вызов statx, возвращающего расширенную информацию о файле, включая время создания файла и специфичные для файловых систем флаги, осуществляется откат на использованием системного вызова fstatat.
- Добавлены функции preadv2() и pwritev2(), предоставляющие обвязки над одноимёнными системными вызовами ядра Linux. От preadv() и pwritev() новые функции отличаются наличием ещё одного аргумента для передачи ядру дополнительных флагов, таких как RWF_SYNC (сброс данных и метаданных из кэша на носитель после выполнения операции) и RWF_DSYNC (принудительный сброс на носитель только данных).
- Добавлена поддержка архитектур Loongarch64 и Riscv32.
- Реализация функции clone() доведена до состояния, пригодного к использованию.
- В функции statvfs() обеспечено возвращение результата с типом f_type.
- Для систем Riscv64 добавлена поддержка механизма TLSDESC (Thread-Local Storage Descriptor).
- В DNS-резолвере реализована обработка ответов с длинными последовательностями CNAME. Решена проблема, из-за которой отбрасывались некоторые большие ответы, передаваемые через TCP.
- В интерфейсах mntent появилась поддержка экранирования пробелов в файловых путях и опциях.
- В snprintf и swprintf обеспечена корректная обработка ситуации в случае обработки чисел, размером больше INT_MAX. Улучшено соответствие стандарту функций семейства printf.
Release.
Ссылка here.