Glibc 2.16 bringt Unterstützung für x32 ABI

Unterstützung für das von Linux-Kernel seit Version 3.4 gebotene x32 ABI ist eine der Neuerungen der GNU C Library (Glibc) 2.16, die deren Entwickler kürzlich freigegeben haben.

In Pocket speichern vorlesen Druckansicht 84 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Thorsten Leemhuis

Unterstützung für das vom Linux-Kernel seit Version 3.4 offerierte x32 ABI ist eine der Neuerungen der GNU C Library (Glibc) 2.16, die deren Entwickler kürzlich freigegeben haben. Für das x32 ABI (Application Binary Interface) kompilierte Programme haben Zugriff auf die 64-Bit-Register und -Datenpfade von 64-Bit-x86-Prozessoren, arbeiten jedoch mit 32-Bit-Pointern. Grob gesprochen vermeiden für das x32 ABI kompilierte Programme so den Overhead, den ein voller 64-Bit-Betrieb mit sich bringt, nutzen aber dennoch einige der wichtigsten Vorteile von x86-64-Prozessoren; das soll vor allem für ressourcenschwache Systeme im Embedded- und Mobil-Markt interessant sein.

Die Glibc-Entwickler haben zudem einige Funktionen zur Unterstützung des ISO-C-Standards C11 implementiert. Beim Kompilieren der C-Bibliothek lassen sich nun einige Prüfpunkte (static probes) einbauen, auf die etwa SystemTap bei der Performance-Analyse zurückgreifen kann. Neben einigen generellen Optimierungen gab es ferner einige Performance-Verbesserungen an den mathematischen Funktionen.

Die Glibc-Entwickler haben die Unterstützung für Linux 2.4 entfernt, daher ist nun ein Kernel 2.6 Mindestvoraussetzung. Der Code für die Itanium-Architektur (IA64) wurde vom Kern-Paket in "Ports" verlagert; dort zog mit Version 2.16 die Unterstützung für Tileras Vielkern-Prozessoren der Familien Tile-Gx and TilePro ein.

Die Glibc oder der auf ihr basierende Ableger Embedded Glibc (EGLIBC) dient den meisten Linux-Distributionen als Standard-C-Library und bildet so die Basis der meisten dort eingesetzten Software. Nachdem jahrelang immer mal wieder Kritik zu hören war, die Arbeit mit den Glibc-Entwicklern sei schwierig, hat das Projekt im Frühjahr einige Umstrukturierungen an der Führungsstruktur vorgenommen.

[Update, 03.07.12, 08:45]

Es wurde nicht die Unterstützung für den Linux-Kernel 2.4 entfernt, sondern für ältere Versionen davor; die Unterstützung für Linux 2.4 wurde allerdings nicht getestet und die Entwickler nehmen nicht an, dass sie funktioniert. (thl)