12.2. GLIBC
In Red Hat Enterprise Linux 7.0, le librerie glibc (
libc, libm, libpthread, NSS plug-ins e altro) si basano sulla release 2.17 di glibc, la quale include numerosi miglioramenti e correzioni per il Red Hat Enterprise Linux 6 equivalente.
Le caratteristiche più importanti delle librerie glibc di Red Hat Enterprise Linux 7.0 sono:
- Supporto ISO C11 sperimentale.
- Nuove interfacce di 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. - Nuove funzioni migliorate della stringa per le architetture AMD64 e Intel 64 utilizzando Streaming SIMD Extensions (SSE), Supplemental Streaming SIMD Extensions 3 (SSSE3), Streaming SIMD Extensions 4.2 (SSE4.2), e Advanced Vector Extensions (AVX).
- Nuove funzioni ottimizzate della stringa per IBM PowerPC e IBM POWER7.
- Nuove funzioni ottimizzate della stringa per IBM S/390 e IBM System z, con routine specifiche migliorate per IBM System z10 e IBM zEnterprise 196.
- Nuovi locali: 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.
- Nuove codifiche: CP770, CP771, CP772, CP773, CP774.
- Nuove interfacce:
scandirat,scandirat64. - Aggiunta la funzione per il controllo delle versioni dei descrittori dei file FD_SET, FD_CLR, FD_ISSET, poll, e ppoll.
- È ora supportato nel demone
nscdla messa in memoria cache del database netgroup. - La nuova funzione
secure_getenv()permette un accesso sicuro all'ambiente, e ritorna un valore NULL se in esecuzione in un processo SUID o SGID. Questa funzione sostituisce la funzione interna__secure_getenv(). - La funzione
crypt()ora fallisce se vengono passati dati randomici (salt bytes) che violano le specifiche per i valori in questione. Su Linux, la funzionecrypt()consulterà il file/proc/sys/crypto/fips_enabledper determinare se la modalità FIPS è abilitata, e fallisce su stringhe criptate usando l'algoritmo Message-Digest 5 (MD5) o Data Encryption Standard (DES) quando la modalità è abilitata. - La suite di funzioni
clock_*(indicate in <time.h>) è ora disponibile direttamente nella Libreria C principale. In precedenza per poter usare queste funzioni era necessario utilizzare-lrt. Con questa modifica un programma con thread singolo che utilizza una funzioneclock_gettime()(la quale non è collegata all'opzione-lrt), non caricherà più implicitamente la libreria pthreads al runtime. Così facendo non si avrà più un overhead associato al supporto multi-thread in altri codici come ad esempio la libreria di runtime C++. - Una nuova intestazione <sys/auxv.h> e funzione
getauxval(), permettono di avere un accesso più semplice alle coppie chiave-valore AT_* passate dal kernel di Linux. L'intestazione definisce anche i bit HWCAP_* associati con AT_HWCAP. - Una nuova classe di intestazione è stata documentata per una funzionalità specifica alla piattaforma di livello basso. PowerPC ha aggiunto la prima istanza con funzione per fornire un accesso al registro basato sul tempo.