The GNU C Library ================= The GNU C Library version 2.16 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 C99 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.16 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.16 ===================== * The following bugs are resolved with this release: 174, 208, 350, 369, 411, 706, 766, 887, 2074, 2541, 2547, 2548, 2550, 2551, 2552, 2553, 2554, 2562, 2563, 2565, 2566, 2570, 2576, 2636, 2678, 3335, 3440, 3748, 3768, 3866, 3868, 3906, 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578, 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895, 6907, 6911, 6959, 7064, 9739, 9902, 10110, 10135, 10140, 10153, 10210, 10254, 10346, 10375, 10545, 10716, 10846, 11174, 11322, 11365, 11451, 11494, 11521, 11677, 11837, 11959, 12047, 12097, 12193, 12194, 12297, 12298, 12301, 12340, 12354, 12416, 12495, 13058, 13223, 13361, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13556, 13559, 13563, 13566, 13576, 13579, 13583, 13592, 13594, 13613, 13618, 13637, 13656, 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13718, 13726, 13738, 13739, 13743, 13750, 13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13848, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13882, 13883, 13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954, 13955, 13956, 13963, 13967, 13968, 13970, 13973, 13979, 13983, 13986, 13996, 14012, 14027, 14033, 14034, 14036, 14040, 14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075, 14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134, 14153, 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14277, 14278 * Support for the x32 ABI on x86-64 added. The x32 target is selected by configuring glibc with: BUILD_CC='gcc' CC='gcc -mx32' CXX='g++ -mx32' Visit <http://sites.google.com/site/x32abi/> for more x32 ABI info. Implemented by H.J. Lu. * ISO C11 support: + define static_assert + do not declare gets + declare at_quick_exit and quick_exit also for ISO C11 + aligned_alloc. NB: The code is deliberately allows the size parameter to not be a multiple of the alignment. This is a moronic requirement in the standard but it is only a requirement on the caller, not the implementation. + timespec_get added + uchar.h support added + CMPLX, CMPLXF, CMPLXL added Implemented by Ulrich Drepper. * Support for the IA-64 has been moved to ports. * Remove support for anything but ELF binary format * Checking versions of poll, ppoll added. Implemented by Ulrich Drepper. * More generic and 64-bit performance optimizations to math functions. Implemented by Ulrich Drepper. * New configure option --enable-obsolete-rpc makes the deprecated RPC headers and functions available at compile time as they were before version 2.14. This option will be removed at some time in the future after the TI-RPC library becomes fully sufficient for the needs of existing applications. * Compatibility code for Linux kernel versions before 2.4 has been removed. Note that glibc is not expected to work with any Linux kernel version before 2.6. * New header <sys/auxv.h> and function getauxval allowing 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. * New locales: mag_IN * New configure option --enable-systemtap builds SystemTap static probes into libc for setjmp and longjmp and into libpthread for various operations. So far the setjmp/longjmp probes and some of the libpthread probes are provided only for i*86 and x86_64. Implemented by Roland McGrath and Rayson Ho. * Optimized expf for x86-32 and x86-64. Implemented by Liubov Dmitrieva. * More optimized functions for PowerPC. Implemented by Adhemerval Zanella and Will Schmidt. * More optimized functions for SPARC. Implemented by David S. Miller. * Improved support for cross-compilation, especially bootstrap builds without a previously built glibc. * Ports for the TILE-Gx and TILEPro families of processors. Contributed by Chris Metcalf from Tilera. * Support for the old ARM ABI has been removed from ports. Only the EABI is now supported for ARM processors. * The hard-float variant of the ARM EABI now uses /lib/ld-linux-armhf.so.3 as the name of the dynamic linker, to distinguish it from the /lib/ld-linux.so.3 dynamic linker used for the base EABI. * Support for CRIS has been removed from ports. * 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. Contributed by Tulio Magno Quites Machado Filho. * ix86 configurations now install header files that are consistent with what x86-64 configurations install. These same header files can be used for -m32, -m64, or -mx32 builds. Contributed by H.J. Lu. * Math library bug fixes. A thorough audit of all open math library bugs was conducted by Joseph Myers. Significant progress was made on many math library bugs resulting in more accurate exceptions and function results. Many thanks to all those that contributed including Andreas Jaeger for his patch review and work on the x87 trigonometric instruction issues. * Timezone data is no longer installed. Timezone-related binaries and scripts will continue to be installed. Users should obtain their timezone data from their distribution provider or from the tzdata package at <ftp://munnari.oz.au/pub/>. 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: Adhemerval Zanella Allan McRae Andreas Jaeger Andreas Krebbel Andreas Schwab Antoine Balestrat Anton Blanchard Aurelien Jarno Carlos O'Donell Carlos Sánchez de La Lama Chandan Kumar Chris Demetriou Chris Leonard Chris Metcalf Chung-Lin Tang Cyril Hrubis David S. Miller Dwayne Grant McConnell Fabrice Bauzac H.J. Lu Ian Wienand Jakub Jelinek Jan Kratochvil Jeff Law Jim Meyering Joseph Myers Kai Tietz Kaz Kojima Kees Cook Liubov Dmitrieva Marek Polacek Markus Trippelsdorf Maxim Kuvyrkov Michael Matz Mike Frysinger Nick Bowler Nicolas Boulenguez Nix Paul Bolle Paul Eggert Paul Pluzhnikov Petr Baudis Pino Toscano Rafe Kettler Rayson Ho Richard Henderson Robert Millan Roland Mc Grath Roland McGrath Ryan S. Arnold Samuel Thibault Serkan Kaba Siddhesh Poyarekar Simon Josefsson Stanislav Brabec Stephen Compall Thomas Schwinge Tom de Vries Tulio Magno Quites Machado Filho Ulrich Drepper Will Schmidt