Among the new features of the GNU C Library (Glibc) 2.16, which was released on Saturday, is support for the x32 ABI (Application Binary Interface); the Linux kernel has offered support for the interface since version 3.4. Programs that are compiled for the x32 ABI can now access the 64-bit registers and data paths of 64-bit x86 processors while only using 32-bit pointers and data fields. In general terms, programs that are compiled for the x32 ABI avoid the overhead that comes with full 64-bit operation while making use of some of the most important advantages of x86-64 processors; this is thought to be of particular relevance for low-specification systems in the embedded and mobile markets.

The Glibc developers have also added features to support the C11 ISO-C standard. Several static probes, used in performance analysis by programs such as SystemTap, can now be implemented when compiling the C library. In addition to general optimisations, the developers have improved the performance of the library's mathematical functions.

Linux 2.4 is no longer supported, making kernel version 2.6 the new minimum system requirement. The code for the Itanium architecture (IA64) was moved from the kernel package to "ports"; in version 2.16, this package also supports Tilera's Tile-Gx and TilePro families of multi-core processors.

The Glibc, and the Embedded Glibc (EGLIBC) that is based on it, serve as C standard libraries in most Linux distributions and are, therefore, the basis of most software programs used in these distributions. In response to repeated complaints that working with the Glibc developers was difficult, the project reorganised its governance structure earlier this year.

The GNU C Library is the C library used by most systems that are based on the Linux kernel. Licensed under the LGPL, Glibc source code is available to download from the GNU web site.

Update 03-07-12: Support for version 2.4 of the Linux kernel was not removed, the developers actually removed support for all older kernels. For 2.4 itself, although the code is still in place, the developers have never tested it and presume it does not work.

See also:

(crve)