12.2. GLIBC
Dans Red Hat Enterprise Linux 7.0, les bibliothèques glibc (
libc, libm, libpthread, les greffons NSS et autres) sont basés sur la version 2.17 de glibc, qui inclut de nombreux correctifs de bogues et améliorations liés à l'équivalent Red Hat Enterprise Linux 6.
Ci-dessous figurent les changements les plus notables des bibliothèques glibc de Red Hat Enterprise Linux 7.0 :
- Prise en charge expérimentale d'ISO C11.
- Nouvelles interfaces Linux :
prlimit,prlimit64,fanotify_init,fanotify_mark,clock_adjtime,name_to_handle_at,open_by_handle_at,syncfs,setns,sendmmsg,process_vm_readv,process_vm_writev. - Nouvelles fonctions de chaînes optimisées pour les architectures AMD64 et Intel 64 utilisant SSE (« Streaming SIMD Extensions »), SSSE3 (« Supplemental Streaming SIMD Extensions 3 »), SSE4.2 (« Streaming SIMD Extensions 4.2 ») et AVX (« Advanced Vector Extensions »).
- Nouvelles fonctions de chaînes optimisées pour IBM PowerPC et IBM POWER7.
- Nouvelles fonctions de chaînes optimisées pour IBM S/390 et IBM System z avec routines spécifiquement optimisées pour IBM System z10 et IBM zEnterprise 196.
- Nouveaux paramètres régionaux : os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, yue_HK, lij_IT, mhr_RU, bho_IN, unm_US, es_CU, ta_LK, ayc_PE, doi_IN, ia_FR, mni_IN, nhn_MX, niu_NU, niu_NZ, sat_IN, szl_PL, mag_IN.
- Nouveaux encodages : CP770, CP771, CP772, CP773, CP774.
- Nouvelles interfaces :
scandirat,scandirat64. - La fonctionnalité de vérifications des versions des descripteurs de fichiers FD_SET, FD_CLR, FD_ISSET, poll et ppoll ont été ajoutées.
- La mise en cache de la base de données netgroup est désormais prise en charge par le démon
nscd. - La nouvelle fonction
secure_getenv()permet un accès sécurisé à l'environnement et retourne NULL si exécutée dans un processus SUID ou SGID. Cette fonction remplace la fonction interne__secure_getenv(). - Désormais, la fonction
crypt()échoue si des octets salés transgressant la spécification de ces valeurs sont passés. Sur Linux, la fonctioncrypt()consultera le fichier/proc/sys/crypto/fips_enabledafin de déterminer si le mode FIPS est activé et échouera sur les chaînes chiffrées en utilisant l'algorithme MD5 (« Message-Digest algorithm 5 ») ou DES (« Data Encryption Standard » lorsque le mode est activé. - La suite de fonctions
clock_*(déclarée dans <time.h>) est maintenant disponible directement dans la bibliothèque C principale. Auparavant, il était nécessaire de faire le lien avec-lrtpour utiliser ces fonctions. Ce changement a eu pour effet qu'un programme à thread unique qui utilise une fonction telle queclock_gettime()(et n'est pas liée à-lrt) ne chargera plus la bibliothèque pthreads de manière implicite lors du runtime et ne souffrira donc pas des alourdissements associés à la prise en charge de multiples threads dans d'autres codes, comme la bibliothèques de runtime C++. - Le nouvel en-tête <sys/auxv.h> et la nouvelle fonction
getauxval()permettent un accès facile aux paires clé-valeur AT_* passées par le noyau Linux. L'en-tête définit aussi les bits HWCAP_* associés à la clé AT_HWCAP. - Une nouvelle class d'en-têtes installés a été documentée pour les fonctionnalités de bas niveau spécifiques à la plateforme. PowerPC a ajouté la première instance avec une fonction pour fournir un accès au registre basé temps.