Die Standard-C-Bibliothek Musl 1.2.3 wurde veröffentlicht und bietet eine Implementierung von libc, die sowohl fĂŒr den Einsatz auf stationĂ€ren PCs und Servern als auch auf mobilen Systemen geeignet ist. Sie kombiniert umfassende UnterstĂŒtzung fĂŒr Standards (wie bei Glibc) mit kleinem Speicherbedarf, niedrigem Ressourcenverbrauch und hoher Leistung (vergleichbar mit uClibc, dietlibc und Android Bionic). Es wird UnterstĂŒtzung fĂŒr alle verpflichtenden C99- und POSIX 2008-Schnittstellen sowie teilweise fĂŒr C11 und eine Reihe von Erweiterungen fĂŒr Multithreading (POSIX-Threads), Speicherverwaltung und Locale-Verarbeitung geboten. Der Musl-Code wird unter der freien MIT-Lizenz angeboten.
In der neuen Version wurde die Funktion qsort_r hinzugefĂŒgt, die fĂŒr die Aufnahme in den kommenden POSIX-Standard vorgesehen ist und fĂŒr die Sortierung von Arrays unter Verwendung beliebiger Vergleichsfunktionen verwendet wird. FĂŒr einige PowerPC-CPU-Modelle wurde die UnterstĂŒtzung fĂŒr alternative SPE FPU (Signal Processing Engine) hinzugefĂŒgt. Es wurden Ănderungen vorgenommen, die darauf abzielen, die KompatibilitĂ€t zu verbessern, insbesondere im Hinblick auf die Beibehaltung des errno-Wertes, den Umgang mit Nullzeigern in gettext und die Verarbeitung der Umgebungsvariable TZ. RĂŒckschritte in den Funktionen wcwidth und duplocale wurden behoben, ebenso wie mehrere Fehler in mathematischen Funktionen, die unter bestimmten UmstĂ€nden zur Berechnung falscher Ergebnisse fĂŒhrten (zum Beispiel wurde in fmaf auf Systemen ohne FPU das Ergebnis fehlerhaft gerundet).
ZusĂ€tzlich kann auf die vor einigen Tagen veröffentlichte Version der Standard-C-Bibliothek PicoLibc 1.7.6 hingewiesen werden, die von Keith Packard (dem Leiter des X.Org-Projekts) fĂŒr den Einsatz auf Embedded-GerĂ€ten mit begrenztem nichtflĂŒchtigen Speicher und RAM entwickelt wird. Bei der Entwicklung wurde ein Teil des Codes aus der newlib-Bibliothek des Cygwin-Projekts und AVR Libc ĂŒbernommen, die fĂŒr Atmel AVR-Mikrocontroller entwickelt wurde. Der PicoLibc-Code wird unter der BSD-Lizenz verbreitet. Es wird der Build der Bibliothek fĂŒr die Architekturen ARM (32-Bit), Aarch64, i386, RISC-V, x86_64, m68k und PowerPC unterstĂŒtzt. In der neuen Version wurde die Verwendung mathematischer Inline-Funktionen fĂŒr die Architektur aarch64 implementiert und die Möglichkeit geschaffen, mathematische Inline-Funktionen in Anwendungen auf den Architekturen arm und risc-v zu verwenden.
Quelle: opennet.ru
