Musl 1.2.6 стандарттык C китепканасынын чыгарылышы

Эки жылдык иштеп чыгуудан кийин, стандарттуу C китепканасынын Musl 1.2.6 чыгарылышы сунушталды, ал libcтин ишке ашырылышын камсыз кылат, ал стол үстүндөгү компьютерлерде жана серверлерде, ошондой эле мобилдик системаларда колдонууга ылайыктуу, стандарттарды толук колдоону (Glibc сыяктуу) кичинекей өлчөм, аз ресурстарды керектөө жана жогорку өндүрүмдүүлүк менен айкалыштырат (uClibc, dietlibc жана башкалар сыяктуу). Android Bionic). Ал бардык талап кылынган C99 жана POSIX 2008 интерфейстерин, ошондой эле жарым-жартылай C11 колдоосун жана көп агымдуу программалоо (POSIX агымдары), эс тутумду башкаруу жана локалдык колдоо үчүн кеңейтүүлөрдүн топтомун колдойт. Musl коду акысыз MIT лицензиясынын астында чыгарылат.

Негизги өзгөрүүлөр:

  • POSIX-2024 стандартында киргизилген posix_getdents функциясы ишке ашырылды. Бул функция ачык файл дескриптору менен байланышкан каталогдун мазмунун окуп, кошумча каталогдор жана файлдар жөнүндө маалыматты posix_dent түзүмдөрүнө максималдуу өлчөмдү чектөө мүмкүнчүлүгү менен жайгаштырат.
  • Атайын кошулган Linux renameat2 функциясы эки файлдын аттарын атомдук түрдө алмаштыруу каражаттарын камсыз кылат (биринчи файл экинчисине, ал эми экинчи файл биринчисине өзгөртүлөт). Жаңы функция renameat функциясынан кошумча желек талаасынын кошулушу менен айырмаланат: бул желексиз renameat2 renameat сыяктуу иштейт жана RENAME_NOREPLACE желеги көрсөтүлгөндө, rename операциясы бар файлды алмаштырбайт.
  • Loongarch64 системалары үчүн, жип-локалдык сактагычтагы өзгөрмөлөргө натыйжалуу жетүү үчүн TLSDESC (Thread-Local Storage Descriptor) механизми колдоого алынды.
  • vDSO колдонуу менен, clock_gettime функциясы riscv32, riscv64, powerpc, powerpc64 жана s390x архитектураларында оптималдаштырылган. vDSO (виртуалдык динамикалык бөлүшүлгөн объект) системалык чакырууларды иштетүүчүнү ядродон колдонуучу мейкиндигине жылдырууга мүмкүндүк берет, бул контексттик которуштуруулардан качууга мүмкүндүк берет.
  • Иштөө убактысынын компиляторлорунда CPU мүмкүнчүлүктөрүн аныктоо үчүн, __getauxval символу коомдук ABIге которулган.
  • iconv() функциясын колдонуп, EUC-KR коддоосунан UTF-8ге атайын түзүлгөн текстти которууда буфердин ашып кетишине алып келген алсыздык (CVE-2025-26519) оңдолду. Алсыздык бир жылдан ашык убакыт мурун аныкталган жана чыгарылышка чейин оңдолгон.
  • initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt жана vdso функцияларындагы, ошондой эле sched.h жана shadow.h баш файлдарындагы шайкештик маселелери чечилди.
  • pwrite (O_APPEND маселеси чечилди), mbnrtowcs (POSIX-2024 шайкештиги эске алынды), strptim (POSIX-2024e шайкештиги эске алынды) жана inet_ntop (RFC 5952 шайкештиги орнотулду) функцияларында спецификацияга шайкештик жакшыртылды.

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster