Musl 1.2.5 стандарт C номын сангийн хувилбар

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

Үндсэн өөрчлөлтүүд:

  • Нэмэлт туг аргументтай гэдгээрээ fstatat64-ээс ялгаатай statx() функцийг нэмсэн. Хэрэв цөм нь файл үүсгэх хугацаа болон файлын системд хамаарах тугуудыг багтаасан өргөтгөсөн файлын мэдээллийг буцаадаг statx системийн дуудлагыг дэмждэггүй бол fstatat системийн дуудлагыг ашиглах болно.
  • Preadv2() болон pwritev2() функцуудыг нэмсэн бөгөөд тэдгээр нь ижил нэртэй Линуксийн цөмийн системийн дуудлагууд дээр ороох боломжийг олгодог. Шинэ функцууд нь preadv() болон pwritev()-ээс RWF_SYNC (үйл ажиллагаа дууссаны дараа кэшээс зөөвөрлөгч рүү өгөгдөл болон мета өгөгдлийг цэвэрлэх) болон RWF_DSYNC ( гэх мэт нэмэлт тугуудыг цөмд дамжуулах өөр нэг аргумент байдгаараа ялгаатай. зөвхөн өгөгдлийг хэвлэл мэдээллийн хэрэгсэлд албадан угаах).
  • Loongarch64 болон Riscv32 архитектурын дэмжлэгийг нэмсэн.
  • Clon() функцийн хэрэгжилтийг ашиглах боломжтой байдалд хүргэсэн.
  • statvfs() функц нь f_type төрлийн үр дүнг буцаахыг баталгаажуулдаг.
  • Riscv64 системүүдийн хувьд TLSDESC (Thread-Local Storage Descriptor) механизмын дэмжлэг нэмэгдсэн.
  • DNS шийдүүлэгч нь урт CNAME дараалал бүхий хариултуудыг боловсруулдаг. TCP-ээр илгээсэн зарим том хариултыг устгасан асуудлыг шийдсэн.
  • mntent интерфэйсүүд одоо файлын зам болон сонголтуудын зайнаас гарах дэмжлэгтэй болсон.
  • Snprintf болон swprintf нь INT_MAX-аас их тоог боловсруулах үед нөхцөл байдлыг зөв зохицуулах боломжийг олгодог. printf гэр бүлийн функцүүдийн нийцлийг сайжруулсан.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх