The GNU C Library (glibc) faces increasing competition from other C library implementations like Google Android's Bionic, uClibc on embedded systems, EGLIBC, and dietlibc, among others. With glibc losing some of its appeal even on modern Linux desktop distributions, Carlos O'Donell spoke this week at the Linux Foundation Collaboration Summit about the state of this GNU project along with a look ahead at the glibc 2.18 release.
O'Donell was quick to admit that glibc faces some criticism as being too slow, not always producing correct behavior, and missing some features. The project strides to stay relevant, engage developers, get developers to address complaints, and to continue promoting the GNU C Library. The expressed state of the community is that it's making it through time-based releases of glibc, there's dedicated x86/x86_64 code reviews, new developers are coming about, and there's renewed attention on locale issues. However, right now they still don't have an effective BugZilla triage process, there's more patches than the community can review, and less than optimal testing infrastructure is in place.
For promoting glibc, one of the expressed ideas in his presentation was carrying out a possible logo contest... Fortunately, that was a quick divergence before talking about the future: glibc 2.18. There's two months left of glibc 2.18 development and there's a lot of features.
Among the features coming to glibc 2.18 is support for hardware-lock elision as introduced with forthcoming Intel Haswell processors, a library dependency handling clean-up, clean-ups for math routines, parallelism and concurrency fixes, a header clean-up, and much more. So far there's also more than 50 bugs that were fixed for glibc 2.18.
The glibc-ports repository was also merged back into the mainline glibc repository that served as a repository for second-class architectures like MIPS and ARM. The minimum supported kernel for glibc 2.18 will be the Linux 2.6.16/2.17 kernel. There's also improved X support with cross-compilation, cross-testing, and bootstrap builds.
For an area of interest to us, performance, there's a new micro-benchmark suite and optimized functions for the s390/s390x, POWER7, and MIPS architectures. Other random features include IEEE-754:2008 math conformance fixes, various new locales, and there is Xilinx Microblaze support currently under review.
For more information on this GNU C Library update, see the LFCS 2013 PDF slides.