Die Veröffentlichung der Standard-C-Bibliothek Musl 1.2.5.

Nach 10 Monaten Entwicklungszeit wurde die Version 1.2.5 der Standard-C-Bibliothek Musl veröffentlicht, die eine libc-Implementierung bietet, die sowohl für den Einsatz auf Desktop-PCs und Servern als auch auf mobilen Systemen geeignet ist. Sie kombiniert umfassende Unterstützung für Standards (wie in Glibc) mit kleiner Größe, geringem Ressourcenverbrauch und hoher Leistung (wie in uClibc, dietlibc und Android Bionic). Es werden alle erforderlichen Schnittstellen von C99 und POSIX 2008 unterstützt sowie teilweise C11 und ein Satz von Erweiterungen für Multi-Threading (POSIX-Threads), Speicherverwaltung und den Umgang mit Lokalisierungen. Der Musl-Code wird unter der MIT-Lizenz bereitgestellt.

Wesentliche Änderungen:

  • Die Funktion statx() wurde hinzugefügt, die sich von fstatat64 durch ein zusätzliches Flag-Argument unterscheidet. Wenn der Kernel den Systemaufruf statx, der erweiterte Informationen über Dateien zurückgibt, einschließlich der Erstellungszeit der Datei und systemfilespezifische Flags, nicht unterstützt, wird auf die Verwendung des Systemaufrufs fstatat zurückgegriffen.
  • Die Funktionen preadv2() und pwritev2() wurden hinzugefügt, die eine Hülle um die gleichnamigen Systemaufrufe des Linux-Kernels bereitstellen. Im Gegensatz zu preadv() und pwritev() unterscheiden sich die neuen Funktionen durch ein zusätzliches Argument, um dem Kernel zusätzliche Flags zu übergeben, wie RWF_SYNC (Schreiben von Daten und Metadaten aus dem Cache auf das Laufwerk nach Abschluss der Operation) und RWF_DSYNC (zwingendes Schreiben der Daten auf das Laufwerk).
  • Unterstützung für die Architekturen Loongarch64 und Riscv32 wurde hinzugefügt.
  • Die Implementierung der Funktion clone() wurde auf einen verwendbaren Zustand gebracht.
  • In der Funktion statvfs() wird das Ergebnis mit dem Typ f_type zurückgegeben.
  • Für Riscv64-Systeme wurde Unterstützung für den TLSDESC (Thread-Local Storage Descriptor) Mechanismus hinzugefügt.
  • Im DNS-Resolver wurde die Verarbeitung von Antworten mit langen CNAME-Sequenzen implementiert. Das Problem, das dazu führte, dass einige große Antworten, die über TCP übertragen wurden, verworfen wurden, wurde behoben.
  • In den mntent-Schnittstellen wurde die Unterstützung für das Escaping von Leerzeichen in Dateipfaden und Optionen hinzugefügt.
  • In snprintf und swprintf wurde die korrekte Verarbeitung von Situationen beim Umgang mit Zahlen, die größer als INT_MAX sind, sichergestellt. Die Konformität der printf-Familienfunktionen mit dem Standard wurde verbessert.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster