Login
Newsletter
Werbung

Mo, 17. August 2015, 13:54

Software::Entwicklung

glibc 2.22 mit neuer Vektorbibliothek und Unicode 7.0

Die glibc-Entwickler haben Version 2.22 der C-Laufzeitbibliothek veröffentlicht. Der Schwerpunkt lag in der neuen Version klar auf Korrekturen, aber auch einige Optimierungen und Erweiterungen wurden vorgenommen.

Mirko Lindner

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 ihr Umfang wesentlich größer als der von alternativen Implementierungen. Sie bietet zudem eine umfassende Unterstützung für Internationalisierung, die über die meisten alternativen Bibliotheken hinausgeht.

Version 2.22 von glibc enthält laut der Ankündigung von Carlos O'Donell zahlreiche Korrekturen sowie eine geringe Zahl von Änderungen und Erweiterungen. Eine große Zahl von Entwicklern war an der Erstellung der neuen Version beteiligt, die ein halbes Jahr nach Version 2.21 fertiggestellt wurde.

Eine Reihe von Erweiterungen und Optimierungen betraf nur spezifische Architekturen wie S/390 oder PowerPC. Der Zeitzonen-Parser wurde robuster gemacht, was auch der Sicherheit dient, da Stack- und Pufferüberläufe eliminiert wurden. Auch einige andere Sicherheitslücken wurden beseitigt.

Die Zeichenkodierung und die zugrundeliegenden Tabellen wurden auf Unicode 7.0.0 aktualisiert. Innerhalb der Bibliothek wurden dafür neue Generatorskripte verwendet. Die Aktualisierung korrigiert von den Benutzern beobachtete Probleme und bringt erweiterte Zeichendefinitionen.

Eine neue Bibliothek libmvec für mathematische Vektoroperationen wurde hinzugefügt. Sie enthält für die x86_64-Architektur optimierte Implementationen diverser mathematischer Funktionen, wenn diese auf einem Vektor (Array) von Eingabewerten ausgeführt werden sollen, und nutzt die Prozessorerweiterungen SSE oder AVX, die mittlerweile bis zu 16 einfach genaue oder 8 doppelt genaue Gleitkommazahlen parallel verarbeiten können. Mit hinreichend neuem GCC und einigen Optimierungsoptionen wird libmvec automatisch verwendet, bei statischem Linken muss sie vor der Mathematikbibliothek libm angegeben werden.

Eine weitere Neuerung ist die Ersetzung der bisherigen Implementation von fmemopen, die einige Probleme hatte. Die neue Implementation ist nun POSIX-konform, die alte ist für weiter vorhanden, damit bestehende Programme, die als Binärdateien vorliegen, nicht neu compiliert werden müssen.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung