Login
Newsletter
Werbung

Do, 2. August 2018, 10:54

Software::Entwicklung

glibc 2.28 freigegeben

Die glibc-Entwickler haben Version 2.28 der C-Laufzeitbibliothek veröffentlicht. Wichtige Neuerungen sind die Funktion statx, Unterstützung von ISO C-Threads und wesentliche Verbesserungen bei der Internationalisierung.

glibc ist die Laufzeitbibliothek für Programme, die in der Programmiersprache C geschrieben sind. Da auch C++ davon Gebrauch macht und viele Compiler und Interpreter für andere Sprachen selbst in C geschrieben sind, hängt letztlich ein Großteil der unter Linux laufenden Software von glibc ab. Die Bibliothek hat als Hauptziele Portabilität und hohe Geschwindigkeit. Da sie außerdem allen relevanten Standards wie ISO C11 und POSIX.1-2008 folgt, ist sie recht umfangreich und bietet mehr Funktionen als alternative Implementierungen. Sie bietet zudem eine umfassende Unterstützung für Internationalisierung, die über die in den alternativen Bibliotheken vorhandene hinausgeht.

Version 2.28 von glibc enthält laut der Ankündigung von Carlos O'Donell eine Menge von neuen Funktionen und Optimierungen. So wurden die Regionalinformationen nach ISO 14651 auf den Stand der 4. Edition von 2016 gebracht, was den in Unicode 9 enthaltenen Daten entspricht. Eine kleine Abweichung vom Standard ist in der Sortierreihenfolge von Latin-Zeichensätzen zu finden. Diese soll sicherstellen, dass sich die Bereiche von Groß- und Kleinbuchstaben in regulären Ausdrücken nicht überlappen. Sonst würde der Ausdruck [a-z] anscheinend auch ein A akzeptieren und ähnliche Ausdrücke wären ebenfalls falsch. Die Übersetzungen wurden aufgrund der vielen neu hinzugekommenen Informationen und Zeichen deutlich größer. Während die Länderinformationen Unicode 9 entsprechen, sind die Informationen zu Zeichen und deren Kodierung nun auf dem Stand von Unicode 11.0.0.

Die Bibliothek unterstützt jetzt Intel CET. Dies ist kompatibel mit allen existierenden Programmen und Bibliotheken. CET (Control-Flow Enforcement Technology) soll den Code sicherer machen, indem es Indirect Branch Tracking (IBT) und Shadow Stack (SHSTK) verwendet. Eine weitere Neuerung ist, dass ABSOLUTE-Symbole korrekt unterstützt werden. Dies war zuvor fehlerhaft. Neu hinzu kamen einige mathematische Funktionen, die ihr Ergebnis in einen Datentyp mit weniger Bits schreiben und das Ergebnis entsprechend runden müssen.

Einige Sprachen unterstützen jetzt zwei grammatische Formen der Monatsnamen: Armenisch, Asturisch, Katalanisch, Tschechisch, Kaschubisch, Okzitanisch, Ossetisch, schottisches Gaelisch, Obersorbisch und Wallonisch. Zwei Formen von abgekürzten Monatsnamen kennen nun Katalanisch, Griechisch und Kaschubisch. Neue Übersetzungen sind Niedersorbisch (dsb_DE) und Jakutisch (sah_RU). Auch diese kennen zwei grammatische Formen der Monatsnamen.

Glibc 2.28 kann ohne weitere Änderungen unter GNU/Hurd compiliert und genutzt werden.Neue Funktionen, die den Entwicklern zur Verfügung stehen, sind renameat2 und statx. statx, das Informationen zu einer Datei liefert, ist eine wichtige Erweiterung, die in Linux 4.11 eingeführt wurde. Die glibc-Entsprechung greift, wenn der Kernel kein statx anbietet, auf fstatat64 zurück, um wenigstens eine Teilmenge der Dateiinformationen zu liefern.

Neu ist die Unterstützung für ISO C-Threads (ISO/IEC 9899:2011), deren Funktionen und Definitionen in threads.h zu finden sind. IDN-Domain-Namen in getaddrinfo und getnameinfo verwenden jetzt die Bibliothek libidn2, wenn möglich. Ist sie nicht installiert, werden keine Umkodierungen vorgenommen. Das Parsen von dynamischen String-Token in DT_RPATH, DT_RUNPATH, DT_NEEDED, DT_AUXILIARY und DT_FILTER wurde erweitert.

Einige bereits länger veraltete Funktionen wurde entfernt und darüber hinaus wurden in der neuen Version auch eine Reihe von Fehlern korrigiert. Eine komplette Auflistung der Änderungen bietet die Ankündigung, Einzelheiten findet man in den Anmerkungen zur Veröffentlichung. Bezüglich der Kernel-Anforderungen scheint sich nichts geändert zu haben, so dass glibc 2.28 wohl einen Kernel ab 3.2 voraussetzt, auf manchen Architekturen allerdings einen teils deutlich neueren.

Werbung
Kommentare (Insgesamt: 16 || Alle anzeigen || Kommentieren )
Re[5]: Vektorisierung und Threading (Verfluchtnochmal_5987109, So, 5. August 2018)
Re[4]: Vektorisierung und Threading (Anon, Sa, 4. August 2018)
Re[3]: Vektorisierung und Threading (Verfluchtnochmal-05995bd7b, Sa, 4. August 2018)
Re[2]: Vektorisierung und Threading (Anon, Fr, 3. August 2018)
Re: Vektorisierung und Threading (Verfluchtnochmal_5987109, Fr, 3. August 2018)
Pro-Linux
Unterstützer werden
Neue Nachrichten
Werbung