Login
Newsletter
Werbung

Mo, 4. Februar 2019, 13:00

Software::Entwicklung

glibc 2.29 freigegeben

Die glibc-Entwickler haben Version 2.29 der C-Laufzeitbibliothek veröffentlicht. Große Neuerungen fehlen in dieser Version, die die neue Funktion getcpu, eine Portierung auf die C-SKY-Architektur und einige Optimierungen bringt.

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 in den alternativen Bibliotheken vorhandene hinausgeht.

Version 2.29 von glibc enthält laut der Ankündigung von Siddhesh Poyarekar eine Reihe von neuen Funktionen und Optimierungen. Die neue Funktion getcpu, die Linux-spezifisch ist, liefert die aktuell verwendete CPU und den NUMA-Knoten. Einige generische mathematische Funktionen wurden weiter optimiert. Die Funktion reallocarray steht jetzt auch zur Verfügung, wenn das Makro _DEFAULT_SOURCE definiert ist, wie es in BSD-Umgebungen der Fall ist.

Neu ist die Portierung auf die C-SKY-Architektur, die ab Linux 4.20 auch im offiziellen Kernel enthalten ist. Bei PowerPC 64 Bit wurden die transaktionalen Sperren verbessert und optimiert, da mit aktuellen Linux-Kerneln Geschwindigkeitsprobleme auftraten, die damit behoben sind.

Die Funktionen posix_spawn_file_actions_addchdir_np und posix_spawn_file_actions_addfchdir_np, die trotz ihres Namens GNU-spezifische Funktionen sind, wurden hinzugefügt. In den Funktionen popen und system werden nun keine atfork-Handler mehr ausgeführt. Dies ist zwar eine mögliche Verletzung der POSIX-Spezifikation, wird aber anscheinend von POSIX selbst in der Dokumentation von atfork nahegelegt. Eine kleine Änderung gab es in strftime, wenn man eine alternative Jahresformatierung (%Ey) verwendet. Der Jahreszahl wird nun eine führende 0 vorangestellt, wenn sie einstellig ist. Dies soll hauptsächlich die japanische Lokalisierung betreffen. Mit den Flags »_« und »-«, die GNU-Erweiterungen darstellen, kann man das Verhalten ändern.

Darüber hinaus wurden in der neuen Version auch eine Reihe von Fehlern korrigiert. Einige davon bedingen Verhaltensänderungen, die eine Neucompilierung von Software nötig machen können. Außerdem wurden die Namensräume glibc.tune und glibc.tune.cpu in glibc.cpu bzw. glibc.cpu.name umbenannt. Eine komplette Auflistung der Änderungen bietet die Ankündigung. Bezüglich der Kernel-Anforderungen scheint sich nichts geändert zu haben, so dass auch glibc 2.29 wohl einen Kernel ab 3.2 voraussetzt, auf manchen Architekturen allerdings einen deutlich neueren.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung