Standardse C raamatukogu Musl 1.2.5 väljalase

Pärast 10 kuud kestnud arendustööd esitletakse standardse C-teegi Musl 1.2.5 väljalaset, mis pakub libc-rakendust, mis sobib kasutamiseks nii lauaarvutites ja serverites kui ka mobiilsüsteemides, ühendades endas täieliku standardite toe (nagu Glibc-s ) väikese suurusega, väikese ressursikulu ja suure jõudlusega (nagu uClibc, dietlibc ja Android Bionic). Toetatud on kõik vajalikud C99 ja POSIX 2008 liidesed, samuti osaliselt C11 ja laienduste komplekt mitme lõimega programmeerimiseks (POSIX lõimed), mälu haldamiseks ja lokaatidega töötamiseks. Musli kood on saadaval tasuta MIT-i litsentsi alusel.

Peamised muudatused:

  • Lisatud funktsioon statx(), mis erineb fstatat64-st täiendava lipuargumendi poolest. Kui kernel ei toeta statx-süsteemikutset, mis tagastab laiendatud failiteabe, sealhulgas faili loomise aja ja failisüsteemispetsiifilised lipud, naaseb see fstatat-süsteemikutse kasutamisele.
  • Lisatud funktsioonid preadv2() ja pwritev2(), mis pakuvad ümbriseid üle samanimeliste Linuxi kerneli süsteemikutsete. Uued funktsioonid erinevad funktsioonidest preadv() ja pwritev() veel ühe argumendi olemasolu tõttu täiendavate lippude kernelile edastamiseks, näiteks RWF_SYNC (andmete ja metaandmete kustutamine vahemälust meediumisse pärast toimingu lõpetamist) ja RWF_DSYNC ( ainult andmete sunnitud loputamine meediasse).
  • Lisati tugi Loongarch64 ja Riscv32 arhitektuuridele.
  • Funktsiooni kloon() rakendamine on viidud kasutatavasse olekusse.
  • Funktsioon statvfs() tagab tulemuse tüübiga f_type tagastamise.
  • Riscv64 süsteemide jaoks on lisatud mehhanismi TLSDESC (Thread-Local Storage Descriptor) tugi.
  • DNS-i lahendaja rakendab pikkade CNAME-jadadega vastuste töötlemist. Lahendatud on probleem, mille tõttu jäeti mõned TCP kaudu saadetud suured vastused kõrvale.
  • Mntendi liidesed toetavad nüüd tühikute eemaldamist failiteedel ja suvandites.
  • Snprintf ja swprintf tagavad olukorra õige käsitlemise, kui töödeldakse numbreid, mis on suuremad kui INT_MAX. Parem vastavus printf funktsioonide perekonnale.

Allikas: opennet.ru

Lisa kommentaar