C-Bibliothek: glibc in Version 2.31 erschienen

Die Bibliothek umfasst etliche Neuerungen, etwa die Unterstützung des noch experimentellen und unvollständigen C2X-Standards.

In Pocket speichern vorlesen Druckansicht
C-Bibliothek: glibc in Version 2.31 erschienen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Version 2.31 der GNU C Library (glibc) ist erschienen. Das neue Release der alle relevanten Standards einschließlich ISO C11 und POSIX.1-2017 unterstützenden Programmierbibliothek bringt etliche Neuerungen, darunter die Unterstützung des noch experimentellen und unvollständigen C2X-Standards. Die Aktivierung der Kompilierung von C2X-Code im GCC mit -std=gnu2x ist ebenfalls noch experimenteller Natur.

Des Weiteren ist von der Unterstützung für authentifizierte Daten-Bits (AD) innerhalb des DNS-Stub Resolver die Rede. In diesem Modus steht das vom Nameserver bereitgestellte AD-Bit Anwendungen zur Verfügung, die res_search und verwandte Funktionen aufrufen. Die <math.h>-Funktionen haben nun entsprechende typengenerische Makros in <tgmath.h>, wie sie die Technical Specifications (TS) 18661-1:2014 und 18661-3:2015 im Clarification Request 13 to TS 18661-3 definieren. Ergänzt wurde die als GNU-Erweiterung entstandene Funktion pthread_clockjoin_np. Sie ermöglicht das Verbinden eines beendeten Threads mit einer bestimmten Uhrzeit und das Warten gegen CLOCK_MONOTONIC und CLOCK_REALTIME.

Darüber hinaus gibt es etliche Änderungen durch das Entfernen von Features, die Folgen für die Kompatibilität mit bisherigen Versionen haben. Selbiges gilt bei Features, die nun als veraltet ("deprecated") markiert sind. Als Security-Fix ist der CVE-2019-19126 zu nennen. Hier war es so, dass ld.so die Umgebungsvariable LD_PREFER_MAP_32BIT_EXEC während der Programmausführung nach einem Sicherheitsübergang nicht ignorieren, sodass lokale Angreifer Zuordnungsadressen für geladene Bibliotheken einschränken und so die Address Space Layout Randomization (ASLD) für ein setuid-Programm umgehen konnten.

Weitere Informationen finden sich in den Release Notes, in denen sämtlich Bugfixes gelistet sind. (ane)