1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Glibc 2.18 Supports New Optimizations, New Archs

Free Software

Published on 13 August 2013 04:46 AM EDT
Written by Michael Larabel in Free Software
10 Comments

Version 2.18 of glibc is available and with it comes a host of new features, new architectures are supported, and various bug-fixes.

The official glibc 2.18 announcement has yet to surface, but the 2.18 release has been tagged in Git (and glibc 2.19 development now open), and packages of it can be downloaded. Fortunately, in looking at the Git tree we can already talk about the goodies of glibc 2.18 without the official release announcement.

Glibc 2.18 has improved C++11 support, performance related improvements / optimized string functions, a benchmark framework for glibc functions, new API functions, support for Intel TSX lock elision, and a whole lot of bug-fixes.

New CPU architectures supported by glibc 2.18 are Xilinx MicroBlaze and IBM POWER8. While not new architectures, there's also various 32-bit ARM and AARch64 improvements worth noting.

For the lack of an official glibc 2.18 release announcement at this time, embedded below are the 2.18 news items as obtained via Git.
- 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 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.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  2. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  3. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  4. AMD Radeon R9 285 Tonga Performance On Linux
Latest Linux Articles
  1. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  2. MSI: Update Your BIOS From The Linux Desktop
  3. NVIDIA vs. AMD 2D Linux Drivers: Catalyst Is Getting Quite Good At 2D
  4. 15-Way GPU Comparison With Mesa 10.3 + Linux 3.17
Latest Linux News
  1. Debian Now Defaults To Xfce On Non-x86 Desktops
  2. Phoenix Is Trying To Be An Open Version Of Apple's Swift
  3. Linux 3.19 To Have Skylake Graphics, PPGTT Enablement
  4. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  5. Imagination Releases Full ISA Documentation For PowerVR Rogue GPUs
  6. Features GNOME Developers Want In The Linux Kernel
  7. GTK+ Gains Experimental Overlay Scrollbars
  8. Phoronix Test Suite 5.4 M3 Is Another Hearty Update
  9. GParted 0.20 Improves Btrfs Support
  10. EXT4 In Linux 3.18 Has Clean-ups, Bug Fixes
Latest Forum Discussions
  1. Users/Developers Threatening Fork Of Debian GNU/Linux
  2. Proof that strlcpy is un-needed
  3. xbox one tv tuner
  4. HOPE: The Ease Of Python With The Speed Of C++
  5. Bye bye BSD, Hello Linux: A Sys Admin's Story
  6. Updated and Optimized Ubuntu Free Graphics Drivers
  7. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux
  8. AMD Is Restructuring Again, Losing 7% Of Employees