User: Password:
Subscribe / Log in / New account

GNU C library 2.17 released

From:  David Miller <>
Subject:  The GNU C Library version 2.17 is now available.
Date:  Tue, 25 Dec 2012 13:42:40 -0800 (PST)
Message-ID:  <>
Archive-link:  Article

The GNU C Library

The GNU C Library version 2.17 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

Packages for the 2.17 release may be downloaded from:

The mirror list is at

NEWS for version 2.17

* The following bugs are resolved with this release:

  1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6677, 6778, 6808,
  9685, 9914, 10014, 10038, 10114, 10631, 10873, 11438, 11607, 11638, 11741,
  12140, 13013, 13412, 13542, 13601, 13603, 13604, 13629, 13679, 13696,
  13698, 13717, 13741, 13759, 13761, 13763, 13881, 13939, 13950, 13952,
  13966, 14042, 14047, 14090, 14150, 14151, 14152, 14154, 14157, 14166,
  14173, 14195, 14197, 14237, 14246, 14251, 14252, 14283, 14298, 14303,
  14307, 14328, 14331, 14336, 14337, 14347, 14349, 14368, 14376, 14417,
  14447, 14459, 14476, 14477, 14501, 14505, 14510, 14516, 14518, 14519,
  14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562, 14568, 14576,
  14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638, 14645, 14648,
  14652, 14660, 14661, 14669, 14672, 14683, 14694, 14716, 14719, 14743,
  14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14803, 14805,
  14807, 14811, 14815, 14821, 14822, 14824, 14828, 14831, 14833, 14835,
  14838, 14856, 14863, 14865, 14866, 14868, 14869, 14871, 14872, 14879,
  14889, 14893, 14898, 14914.

* 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

* 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 <time.h>) 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.


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
Alexander Kanevskiy
Alexandre Oliva
Allan McRae
Andreas Jaeger
Andreas Krebbel
Andreas Schwab
Andrej Lajovic
Andrew Haley
Andrew Stubbs
Aurelien Jarno
Benno Schulenberg
Brendan Kehoe
Carlos O'Donell
Chandrakala Chavva
Chris Leonard
Chris Metcalf
Daniel Gutson
Daniel Jacobowitz
David Alan Gilbert
David S. Miller
Dmitry V. Levin
Eagle Burkut
Florian Pritz
Florian Weimer
GOTO Masanori
Gary Benson
Greg McGary
Guido Guenther
H.J. Lu
Jakub Jelinek
Jeff Bailey
Jeff Law
Jeroen van Bemmel
Jim Blandy
Jim Meyering
John Tobey
Jonathan Nieder
Joseph Myers
Julian Brown
Ken Werner
Khem Raj
Konstantinos Margaritis
Liubov Dmitrieva
Luis Machado
Manjunath Matti
Marcus Shawcroft
Marek Polacek
Mark Salter
Marko Myllynen
Markus Trippelsdorf
Matt Turner
Maxim Kuvyrkov
Michael Cree
Michael Hope
Mike Frysinger
Mike Hommey
Mischa Jonker
Nathan Froyd
Nathan Sidwell
Nik Kalach
Paul Brook
Paul Eggert
Peng Haitao
Petar Jovanovic
Peter Green
Petr Machata
Phil Blundell
Philip Blundell
Pino Toscano
Pravin Satpute
Ramana Radhakrishnan
Richard Henderson
Richard Sandiford
Robert Millan
Roland McGrath
Ryan S. Arnold
Ryosei Takagi
Samuel Thibault
Sebastan Andrzej Siewior
Siddhesh Poyarekar
Steve Ellcey
Steve McIntyre
Thomas Bushnell, BSG
Thomas Schwinge
Thorsten Glaser
Tom de Vries
Torbjorn Granlund
Tulio Magno Quites Machado Filho
Ulrich Drepper
Ulrich Weigand
Viju Vincent
Will Schmidt

(Log in to post comments)

Bionic and uClibc

Posted Dec 28, 2012 4:44 UTC (Fri) by bjartur (guest, #67801) [Link]

Do any statistics support the assertion that glibc is used on most Linux systems? Or how many Lunix servers are there for each Android handheld or dongle in use?

Bionic and uClibc

Posted Dec 28, 2012 12:42 UTC (Fri) by armijn (subscriber, #3653) [Link]

OK, I'm taking the bait ;-)

In my experience you will find glibc (or uClibc) on many Android systems, especially tablets. This is because many of the tools in the stock Android system (like toolbox) are simply too limited, so they put back the usual Linux tools, which need glibc or uClibc.

And, to step away from Android: don't forget the millions of VMs that are running Linux.

Bionic and uClibc

Posted Dec 28, 2012 13:36 UTC (Fri) by mpr22 (subscriber, #60784) [Link]

Who is "they" - the device manufacturers / vendors, or the end users? If the latter, I suspect you know a largely atypical selection of Android device users.

Bionic and uClibc

Posted Dec 28, 2012 15:04 UTC (Fri) by armijn (subscriber, #3653) [Link]

Vendors, obviously.

Bionic and uClibc

Posted Dec 28, 2012 23:59 UTC (Fri) by khim (subscriber, #9252) [Link]

In my experience you will find glibc (or uClibc) on many Android systems, especially tablets.

Define “many”, please. 1% of all Android devices will create a huge population: few millions, but that's still 1% and thus mostly irrelevant when we discuss “most systems with the Linux kernel”.

And, to step away from Android: don't forget the millions of VMs that are running Linux.

And so what? Even if we'll be extremely generous and somehow find out hundred millions of these mythical VMs these are still a drop in the bucket. New Android systems are created at rare of 1,5 millionper day. And if we are starting to talk about exotic things like Android tablets with glibc we should not forget about all these routers with uClibc (not glibc in sight because it's simply too heavy for these).

Sorry, but it's not even a contest: GLibC is not driving “most systems with the Linux kernel”.

It actually justifies “GNU/Linux” term which RMS tried to push for years and makes it useful: since most Linux systems out there are not GNU/Linux systems it's now quite useful to distinguish Linux systems and GNU/Linux.

Not sure if RMS will like such justification for it or not…

Bionic and uClibc

Posted Dec 29, 2012 1:52 UTC (Sat) by dankamongmen (subscriber, #35141) [Link]

the fact that this pointless discussion existed is evidence that the semantics of the phrase "linux systems" are unclear. one of you means "all instances of linux kernels", while one of you (and most readers of this site, i suspect) means "linux instances running machines traditionally conceived of as computers". thank you, drive through.

GNU C library 2.17 released

Posted Dec 29, 2012 16:28 UTC (Sat) by welinder (guest, #4699) [Link]

The announcement fails to mention that there are a large number of libm fixes in this release -- something like a third of the bug numbers from my sampling.

Libm was sadly neglected under the previous management.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds