Login
Newsletter
Werbung

Fr, 2. Februar 2018, 14:36

Software::Entwicklung

glibc 2.27 freigegeben

Die glibc-Entwickler haben Version 2.27 der C-Laufzeitbibliothek veröffentlicht. Auch in diese Version wurden wieder einige neue Funktionen aufgenommen, und die Geschwindigkeit wurde an einigen Stellen optimiert.

Victor Siame

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 meisten alternativen Bibliotheken hinausgeht.

Version 2.27 von glibc enthält laut der Ankündigung von Dmitry V. Levin eine Menge von neuen Funktionen und Optimierungen. Die Bibliothek unterstützt nun statisch gelinkte Programme, die positionsunabhängig compiliert wurden. Zwei Maßnahmen dienen dazu, das (abnormale) Beenden eines Programmes schneller und sicherer zu machen. Speicherkorruption führt wie bisher zum Programmabbruch, aber ohne noch irgendwelche Meldungen auszugeben. Die Funktion abort hingegen führt kein Flush der Ein- und Ausgaben mehr durch. Beide Änderungen sollen weitere Korruption verhindern und einen schnelleren Neustart der betroffenen Anwendung ermöglichen.

Auf Plattformen, auf denen der Typ long double das IEEE-binary128-Format aufweist, gibt es jetzt _Float128-Funktionen nach der Definition von ISO/IEC TS 18661-3:2015. Die Funktionen wurden schon in glibc 2.26 für andere Plattformen hinzugefügt, die allerdings mit einem anderen Format für long double arbeiten. In ähnlicher Weise wurden Funktionen für _Float64x nach ISO/IEC TS 18661-3:2015 sowie _Float32-, _Float64- und _Float32x-Funktionen nach ISO/IEC TS 18661-3:2015 hinzugefügt.

Unter Linux kamen die Funktionen memfd_create und mlock2 hinzu. Neu sind auch die Funktion copy_file_range und die Unterstützung für Speicherschutzschlüssel mit pkey_alloc und verwandten Funktionen. Das Programm ldconfig verarbeitet die include-Direktiven jetzt in der Reihenfolge der C/POSIX-Lokale, während es zuvor die Reihenfolge der jeweils eingestellten Lokale war. In Ausnahmefällen könnte dies Fehler verursachen, wenn man sich auf eine spezifische Reihenfolge verlassen hat.

glibc unterstützt jetzt auch die Ausgabe von Monatsnamen in zwei grammatikalischen Formen. In Sprachen, in denen das üblich ist, lassen sich so zum Beispiel alternative Formen wie »12. Juni« oder »12. des Junis« produzieren. Beim Einlesen von Datumsangaben werden beide Formen akzeptiert. Dies betrifft in dieser Version die Sprachen Weißrussisch, Kroatisch, Griechisch, Litauisch, Polnisch, Russisch und Ukrainisch. Es wird erwartet, dass diese in manchen BSD-Systemen bereits verfügbare Änderung auch von POSIX übernommen wird.

Neu sind auch die Unterstützung für RISC-V unter Linux und einige weitere Funktionen. Als veraltet wurden dagegen die Verwendung von dlopen in statisch gelinkten Programmen und die Verwendung von internen Datenstrukturen der glibc markiert. Einige bereits länger veraltete Funktionen wurde entfernt und darüber hinaus 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.27 wohl einen Kernel ab 3.2 voraussetzt, auf manchen Architekturen allerdings einen neueren.

Werbung
Kommentare (Insgesamt: 1 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung