Veröffentlichung der Standard-C-Bibliotheken Musl 1.2.3 und PicoLibc 1.7.6

Es wird die Veröffentlichung der Standard-C-Bibliothek Musl 1.2.3 vorgestellt, die eine Implementierung von libc bereitstellt, die sowohl für den Einsatz auf Desktop-PCs und Servern als auch auf mobilen Systemen geeignet ist und volle Unterstützung für Standards (wie in Glibc) mit einer geringen kombiniert Größe, geringer Ressourcenverbrauch und hohe Leistung (wie in uClibc, dietlibc und Android Bionic). Es werden alle erforderlichen C99- und POSIX 2008-Schnittstellen sowie teilweise C11 und eine Reihe von Erweiterungen für Multithread-Programmierung (POSIX-Threads), Speicherverwaltung und die Arbeit mit Gebietsschemas unterstützt. Der Musl-Code wird unter der kostenlosen MIT-Lizenz bereitgestellt.

Die neue Version fügt die Funktion qsort_r hinzu, die in einen zukünftigen POSIX-Standard aufgenommen werden soll und zum Sortieren von Arrays mithilfe von Vergleichsfunktionen für beliebige Elemente verwendet wird. Für einige PowerPC-CPU-Modelle wurde Unterstützung für alternative SPE-FPUs (Signal Processing Engine) hinzugefügt. Zur Verbesserung der Kompatibilität wurden Änderungen vorgenommen, z. B. das Speichern von errno, das Akzeptieren von Nullzeigern in gettext und die Handhabung der TZ-Umgebungsvariablen. Regressive Änderungen in den Funktionen wcwidth und duplocale sowie mehrere Fehler in mathematischen Funktionen wurden behoben, die unter bestimmten Umständen zur Berechnung eines falschen Ergebnisses führten (z. B. hat fmaf auf Systemen ohne FPU das Ergebnis falsch gerundet). .

Darüber hinaus können wir die Veröffentlichung der vor einigen Tagen veröffentlichten Standard-C-Bibliothek PicoLibc 1.7.6 zur Kenntnis nehmen, die von Keith Packard (X.Org-Projektleiter) für die Verwendung auf eingebetteten Geräten mit einer begrenzten Menge an permanentem Speicher und RAM entwickelt wurde. Während der Entwicklung wurde ein Teil des Codes aus der Newlib-Bibliothek des Cygwin- und AVR-Libc-Projekts entlehnt, die für Atmel AVR-Mikrocontroller entwickelt wurde. Der PicoLibc-Code wird unter der BSD-Lizenz vertrieben. Die Bibliotheksassemblierung wird für ARM- (32-Bit), Aarch64-, i386-, RISC-V-, x86_64-, m68k- und PowerPC-Architekturen unterstützt. Die neue Version implementiert die Verwendung mathematischer Inline-Funktionen für die Aarch64-Architektur und die Möglichkeit, mathematische Inline-Funktionen in Anwendungen auf den Arm- und Risc-V-Architekturen zu verwenden.

Source: opennet.ru

Kommentar hinzufügen