Издаване на стандартната C-библиотека Musl 1.2.5

След 10 месеца разработка е публикувана версия на стандартната C-библиотека 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.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster