Release van Musl 1.2.5 standaard C-bibliotheek

Na 10 maanden ontwikkeling wordt de release van de standaard C-bibliotheek Musl 1.2.5 gepresenteerd, die een libc-implementatie biedt die geschikt is voor gebruik op zowel desktop-pc's en servers, als op mobiele systemen, waarbij volledige ondersteuning voor standaarden wordt gecombineerd (zoals in Glibc ) met een klein formaat, laag verbruik van hulpbronnen en hoge prestaties (zoals in uClibc, Dietlibc en Android Bionic). Er is ondersteuning voor alle vereiste C99- en POSIX 2008-interfaces, evenals gedeeltelijk C11 en een reeks uitbreidingen voor multi-threaded programmeren (POSIX-threads), geheugenbeheer en het werken met landinstellingen. De Musl-code wordt geleverd onder de gratis MIT-licentie.

Grote veranderingen:

  • Functie statx() toegevoegd, die verschilt van fstatat64 doordat hij een extra vlagargument heeft. Als de kernel de statx-systeemaanroep niet ondersteunt, die uitgebreide bestandsinformatie retourneert, inclusief de aanmaaktijd van bestanden en bestandssysteemspecifieke vlaggen, valt hij terug op het gebruik van de fstatat-systeemaanroep.
  • Functies preadv2() en pwritev2() toegevoegd, die wrappers bieden over de gelijknamige Linux-kernelsysteemaanroepen. De nieuwe functies verschillen van preadv() en pwritev() door de aanwezigheid van nog een argument voor het doorgeven van extra vlaggen aan de kernel, zoals RWF_SYNC (gegevens en metagegevens uit de cache naar de media spoelen nadat de bewerking is voltooid) en RWF_DSYNC ( geforceerd doorspoelen van alleen gegevens naar de media).
  • Ondersteuning toegevoegd voor Loongarch64- en Riscv32-architecturen.
  • De implementatie van de clone()-functie is in een bruikbare staat gebracht.
  • De functie statvfs() zorgt ervoor dat een resultaat met het type f_type wordt geretourneerd.
  • Voor Riscv64-systemen is ondersteuning voor het TLSDESC-mechanisme (Thread-Local Storage Descriptor) toegevoegd.
  • De DNS-resolver implementeert de verwerking van antwoorden met lange CNAME-reeksen. Er is een probleem opgelost waarbij enkele grote reacties die via TCP werden verzonden, werden genegeerd.
  • De mntent-interfaces hebben nu ondersteuning voor het ontsnappen van spaties in bestandspaden en opties.
  • Snprintf en swprintf zorgen voor een correcte afhandeling van de situatie bij het verwerken van getallen groter dan INT_MAX. Verbeterde naleving van de printf-familie van functies.

Bron: opennet.ru

Voeg een reactie