8.12. Compilateurs et outils de développement
glibc
restaure maintenant errno après le chargement d'un module NSS
Auparavant, l'implémentation de Name Service Switch (NSS) dans glibc
définissait errno de manière incorrecte pendant l'énumération de la base de données à l'aide de fonctions telles que getpwent()
si le dernier module NSS ne fournissait aucune donnée. Par conséquent, les applications utilisant ces fonctions d'énumération observaient des erreurs et échouaient. glibc
rétablit désormais errno après le chargement d'un module NSS et, par conséquent, les applications utilisant ces fonctions n'échouent plus.
L'interface d'audit sauvegarde et restaure désormais le registre x8 et la totalité des registres NEON pour AArch64
Auparavant, un bogue dans l'implémentation de l'interface d'audit du chargeur dynamique faisait que l'état des registres sauvegardés sur AArch64
était incomplet par rapport à la norme d'appel de procédure. Ce bogue a été corrigé et l'interface d'audit sauvegarde et restaure désormais le registre x8 et toute la largeur des registres NEON pour AArch64
. Les applications utilisant l'interface d'audit du chargeur dynamique peuvent désormais inspecter et influencer le registre x8 pour AArch64
. Pour utiliser ce nouveau registre x8 et avoir accès à toute la largeur des registres NEON sur AArch64
, les modules d'audit doivent être recompilés pour utiliser la nouvelle version de l'interface (LAV_CURRENT est 2).
La fonction strncpy optimisée pour POWER9 ne donne plus de résultats incorrects
Auparavant, la fonction strncpy de POWER9 n'utilisait pas le registre correct comme source des octets NUL pour le remplissage. Par conséquent, le tampon de sortie contenait un contenu de registre non initialisé à la place du remplissage NUL. Avec cette mise à jour, la fonction strncpy a été corrigée et la fin du tampon de sortie est maintenant correctement remplie d'octets NUL.
Valgrind override of glibc
memmem
function installé sur l'architecture IBMz15
Auparavant, une surcharge valgrind manquante de la fonction glibc
memmem
conduisait à des avertissements faussement positifs :
Conditional jump or move depends on uninitialised value(s)
Cette mise à jour inclut un remplacement par valgrind de la fonction glibc
memmem
et, par conséquent, il n'y a plus d'avertissements faussement positifs lors de l'utilisation de la fonction memmem
dans les programmes exécutés sous valgrind sur l'architecture IBMz15.