Show Table of Contents
10.2. GLIBC
In Red Hat Enterprise Linux 7, the glibc libraries (
libc, libm, libpthread, NSS plug-ins, and others) are based on the glibc 2.17 release, which includes numerous enhancements and bug fixes relative to the Red Hat Enterprise Linux 6 equivalent.
Notable highlights of the Red Hat Enterprise Linux 7 glibc libraries are the following:
- Experimental ISO C11 support;
- New Linux interfaces:
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; - New optimized string functions for AMD64 and Intel 64 architectures using Streaming SIMD Extensions (SSE), Supplemental Streaming SIMD Extensions 3 (SSSE3), Streaming SIMD Extensions 4.2 (SSE4.2), and Advanced Vector Extensions (AVX);
- New optimized string functions for IBM PowerPC and IBM POWER7;
- New optimized string functions for IBM S/390 and IBM System z with specifically optimized routines for IBM System z10 and IBM zEnterprise 196;
- New locales: 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;
- New encodings: CP770, CP771, CP772, CP773, CP774;
- New interfaces:
scandirat,scandirat64; - Checking versions of the FD_SET, FD_CLR, FD_ISSET, poll, and ppoll file descriptors added;
- Caching of the netgroup database is now supported in the
nscddaemon; - The new function
secure_getenv()allows secure access to the environment, returning NULL if running in a SUID or SGID process. This function replaces the internal function__secure_getenv(); - The
crypt()function now fails if passed salt bytes that violate the specification for those values. On Linux, thecrypt()function will consult the/proc/sys/crypto/fips_enabledfile to determine if FIPS mode is enabled, and fail on encrypted strings using the Message-Digest algorithm 5 (MD5) or Data Encryption Standard (DES) algorithm when the mode is enabled; - The
clock_*suite of functions (declared in <time.h>) is now available directly in the main C library. Previously it was necessary to link with-lrtto use these functions. This change has the effect that a single-threaded program that uses a function such asclock_gettime()(and is not linked with-lrt) will no longer implicitly load the pthreads library at runtime and so will not suffer the overheads associated with multi-thread support in other code such as the C++ runtime library; - New header <sys/auxv.h> and function
getauxval()allow easy access to the AT_* key-value pairs passed from the Linux kernel. The header also defines the HWCAP_* bits associated with the AT_HWCAP key; - A new class of installed header has been documented for low-level platform-specific functionality. PowerPC added the first instance with a function to provide time base register access.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.