What's new in GLibC 2.17
Jul 11, 2013
- Optimization of memcpy for MIPS.
- CVE-2011-4609 svc_run() produces high cpu usage when accept fails with
- EMFILE has been fixed (Bugzilla #14889).
- The add-on ports collection is now distributed in the "ports" subdirectory
- of the main GNU C Library distribution, rather than separately.
- Port to ARM AArch64 contributed by Linaro.
- Support for STT_GNU_IFUNC symbols added for s390 and s390x.
- Optimized versions of memcpy, memset, and memcmp added for System z10 and
- zEnterprise z196.
- Implemented by Andreas Krebbel.
- The new function secure_getenv allows secure access to the environment,
- returning NULL if running in a SUID/SGID process.This function replaces
- the internal function __secure_getenv.
- SystemTap static probes have been added into the dynamic linker.
- Implemented by Gary Benson.
- Optimizations of string functions strstr, strcasestr and memmem.
- Implemented by Maxim Kuvyrkov.
- The minimum Linux kernel version that this version of the GNU C Library
- can be used with is 2.6.16.
- Optimizations of string functions memchr, wcschr, wcscpy, and wcsrchr for
- powerpc POWER7.Implemented by Will Schmidt.
- New configure option --disable-nscd builds the C library such that it
- never attempts to contact the Name Service Caching Daemon (nscd).
- New configure option --disable-build-nscd avoids building nscd itself;
- this is the default if --disable-nscd is used.
- Improved support for cross-compilation, including cross-testing and
- bootstrap builds without a previously built glibc.
- Several testsuite tests are now able to test multiple IFUNC variants of an
- interface, rather than just testing the one that would be chooen by
- default.
- New configure options --with-bugurl and --with-pkgversion, for
- distributors to use to embed their bug-reporting and package version
- information in --help and --version output.
- The ttyname and ttyname_r functions on Linux now fall back to searching for
- the tty file descriptor in /dev/pts or /dev if /proc is not available.This
- allows creation of chroots without the procfs mounted on /proc.
- The `crypt' function now fails if passed salt bytes that violate the
- specification for those values.On Linux, the `crypt' function will
- consult /proc/sys/crypto/fips_enabled to determine if "FIPS mode" is
- enabled, and fail on encrypted strings using the MD5 or DES algorithm
- when the mode is enabled.
- The `clock_*' suite of functions (declared in ) is now available
- directly in the main C library.Previously it was necessary to link with
- -lrt to use these functions.This change has the effect that a
- single-threaded program that uses a function such as `clock_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 locales: ayc_PE, doi_IN, ia_FR, mni_IN, nhn_MX, niu_NU, niu_NZ,
- sat_IN, and szl_PL.
New in GLibC 2.14 (Oct 17, 2011)
- glibc's RPC implementation was obsoleted in favor of TI-RPC, but still allows existing programs to run.
- The new Linux interfaces clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs, setns, and sendmmsg were added.
- New locales os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, yue_HK, lij_IT, and mhr_RU were added.
- New encodings CP770, CP771, CP772, CP773, and CP774 were added.
- A new program called sotruss was added to allow tracing calls through PLTs.
- The malloc hook implementation, which never worked since the introduction of threads, was marked as deprecated.
- Many bugs were fixed
New in GLibC 2.11.2 (Jun 7, 2010)
- New interfaces pthread_getname_np and pthread_setname_np have been added, and the new Linux interface recvmmsg has been added. STT_GNU_IFUNC has been implemented for SPARC. ...
- The dynamic linker now recognizes supported ABI versions from the EI_ABIVERSION field in the ELF header. A new NIS mode selector ADJUNCT_AS_SHADOW, useful for some installations involving Solaris, has been implemented. Three new locales have been added. A large number of bugs and internal improvements have been made.
New in GLibC 2.11.1 (Jan 21, 2010)
- New interfaces: execvpe, pthread_sigqueue, mkstemps, mkstemps64, mkostemps,
- mkostemps64
- Implemented by Ulrich Drepper.
- Checking version of longjmp added that fails if an uninitialized stack
- frame would be created. Implemented by Ulrich Drepper.
- STT_GNU_IFUNC is now supported in static executables.
- Implemented by H.J. Lu.
- STT_GNU_IFUNC implemented for PPC by Alan Modra.
- New optimized string functions for x86-64: strstr, strcasestr, memcmp,
- strcspn, strpbrk, strspn, strcpy, stpcpy, strncpy, strcmp (SSE2, SSE4.2),
- strncmp (SSE2, SSE4.2), strchr (SSE4.2), strrchr (SSE4.2).
- Contributed by H.J. Lu.
- strlen, rawmemchr, strcmp (SSSE3), strncmp (SSSE3).
- Implemented by Ulrich Drepper.
- New optimized string functions for x86: strlen, strcspn, strspn, strpbrk,
- strstr, strcasestr.
- Contributed by H.J. Lu.
- Support for fma instruction in AVX on x86-64.
- Implemented by H.J. Lu and Ulrich Drepper.
- AVX support in x86-64 auditing support in ld.so.
- Implemented by H.J. Lu.
- STB_GNU_UNIQUE support added.
- Implemented by Ulrich Drepper.
- Implement second fallback mode for optimized DNS lookup for even more
- broken environments. If two requests from the same port are not
- handled correctly close the socket and open a new one before sending
- the second request. The 'single-request-reopen' option in /etc/resolv.conf
- can be used to select this mode right away, instead of rediscovering the
- necessity is every process again.
- Implemented by Ulrich Drepper.
- New resolver flag RES_USE_DNSSEC to enable use of verified lookup.
- Implemented by Adam Tkac.
- Optimized iconv conversions for S390x.
- Implemented by Andreas Krebbel.
- Using condvars with PI mutexes is now more efficient due to kernel
- support for requeueing to PI futexes. NPTL support added for x86-64.
- Implemented by Ulrich Drepper.
- New locales: ps_AF, my_MM
New in GLibC 2.10.1 (May 28, 2009)
- Several new interfaces were added.
- Faster strlen(), strchr(), strchrnul(), strrchr(), memchr(), and rawmemchr() functions were implemented for x86-64.
- The malloc implementation... can be compiled to be less memory efficient but with higher performance in multi-threaded programs.
- A compile error for invalid C++ code when using the string function was resolved.
- Support for selecting between multiple function definitions at runtime was added.
- The libcrypt library can now use the hash function implementations in NSS.
- Two new locales were added