Skip to content
The GNU C Library
=================

The GNU C Library version 2.18 is now available.

The GNU C Library is used as *the* C library in the GNU systems
and most systems with the Linux kernel.

The GNU C Library is primarily designed to be a portable
and high performance C library.  It follows all relevant
standards including ISO C11 and POSIX.1-2008.  It is also
internationalized and has one of the most complete
internationalization interfaces known.

The GNU C Library webpage is at http://www.gnu.org/software/libc/

Packages for the 2.18 release may be downloaded from:
        http://ftpmirror.gnu.org/libc/
        http://ftp.gnu.org/gnu/libc/

The mirror list is at http://www.gnu.org/order/ftp.html

NEWS for version 2.18
====================

* The following bugs are resolved with this release:

  2546, 2560, 5159, 6809, 7006, 10060, 10062, 10283, 10357, 10686, 11120,
  11561, 12310, 12387, 12492, 12515, 12723, 13550, 13889, 13951, 13988,
  14142, 14176, 14200, 14256, 14280, 14293, 14317, 14327, 14478, 14496,
  14582, 14686, 14812, 14888, 14894, 14907, 14908, 14909, 14920, 14952,
  14964, 14981, 14982, 14985, 14991, 14994, 14996, 15000, 15003, 15006,
  15007, 15014, 15020, 15022, 15023, 15036, 15054, 15055, 15062, 15078,
  15084, 15085, 15086, 15100, 15160, 15214, 15221, 15232, 15234, 15283,
  15285, 15287, 15304, 15305, 15307, 15309, 15327, 15330, 15335, 15336,
  15337, 15339, 15342, 15346, 15359, 15361, 15366, 15380, 15381, 15394,
  15395, 15405, 15406, 15409, 15416, 15418, 15419, 15423, 15424, 15426,
  15429, 15431, 15432, 15441, 15442, 15448, 15465, 15480, 15485, 15488,
  15490, 15492, 15493, 15497, 15506, 15529, 15536, 15553, 15577, 15583,
  15618, 15627, 15631, 15654, 15655, 15666, 15667, 15674, 15711, 15755,
  15759.

* CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal
  has been fixed by disabling the use of pt_chown (Bugzilla #15755).
  Distributions can re-enable building and using pt_chown via the new configure
  option `--enable-pt_chown'.  Enabling the use of pt_chown carries with it
  considerable security risks and should only be used if the distribution
  understands and accepts the risks.

* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
  #15078).

* CVE-2013-1914 Stack overflow in getaddrinfo with many results has been
  fixed (Bugzilla #15330).

* Add support for calling C++11 thread_local object destructors on thread
  and program exit.  This needs compiler support for offloading C++11
  destructor calls to glibc.

* Improved worst case performance of libm functions with double inputs and
  output.

* Support for priority inherited mutexes in pthread condition variables on
  non-x86 architectures.

* Port to Xilinx MicroBlaze contributed by David Holsgrove.

* Optimized string functions for AArch64.  Implemented by Marcus Shawcroft.

* Optimized string functions for ARM.  Implemented by Will Newton and
  Richard Henderson.

* Optimized libm functions for SPARC.  Implemented by David S. Miller.

* Support for building more of ARM glibc as Thumb-2 code.  Implemented by
  Richard Henderson.

* Support for building most of MIPS glibc as MIPS16 code.  Implemented by
  Chung-Lin Tang, Maciej W. Rozycki and Maxim Kuvyrkov.

* Added a benchmark framework to track performance of functions in glibc.

* New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
  It is based on draft TS 18661 and currently enabled as a GNU extension.

* On Linux, the clock function now uses the clock_gettime system call
  for improved precision, rather than old times system call.

* Added new API functions pthread_getattr_default_np and
  pthread_setattr_default_np to get and set the default pthread
  attributes of a process.

* Added support for TSX lock elision for pthread mutexes on i386 and x86-64.
  This may improve lock scaling of existing programs on TSX capable systems.
  When the --enable-lock-elision=yes parameter is specified at configure
  time lock elision will be enabled by default for all PTHREAD_MUTEX_DEFAULT
  mutexes.

* Support added for AT_HWCAP2 (to coincide with Linux kernel 3.10
  availability).  Implemented by Ryan S. Arnold.

* Support added for POWER8 platform.  Implemented by Ryan S. Arnold.

Contributors
============

This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports.  These include:

Adam Conrad
Adhemerval Zanella
Alan Modra
Allan McRae
Andi Kleen
Andreas Jaeger
Andreas Krebbel
Andreas Schwab
Anton Blanchard
Aurelien Jarno
Ben Norht
Bruno Haible
Carlos O'Donell
Chris Leonard
Chris Metcalf
Christian Grönke
David Holsgrove
David S. Miller
Dmitry V. Levin
Dominik Vogt
Edjunior Barbosa Machado
Edjunior Machado
Florian Weimer
H.J. Lu
Heiko Carstens
Jakub Jelinek
Jan Kratochvil
Jan-Benedict Glaw
Jeff Law
Jeroen Albers
Johan Heikkila
Joseph Myers
Kaz Kojima
Kirk Meyer
Liubov Dmitrieva
Maciej W. Rozycki
Mans Rullgard
Marcus Shawcroft
Mark H Weaver
Marko Myllynen
Markus Trippelsdorf
Maxim Kuvyrkov
Mike Frysinger
Nathan Froyd
Nathan Sidwell
Nik Kalach
Ondrej Bilka
Patsy Franklin
Paul Eggert
Paul Pluzhnikov
Peter Collingbourne
Petr Baudis
Petr Machata
Pierre Ynard
Pino Toscano
Richard Henderson
Richard Smith
Roland McGrath
Ryan S. Arnold
Siddhesh Poyarekar
Steve Ellcey
Thomas Schwinge
Thorsten Kukuk
Tom de Vries
Vladimir Nikulichev
Will Newton