GNU C Library
Any Unix-like operating system needs a C library: the library which defines the ``system calls'' and other basic facilities such as open, malloc, printf, exit...
The GNU C library is used as the C library in the GNU system and most systems with the Linux kernel.
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.
The GNU C library is primarily designed to be a portable and high performance C library.
It follows all relevant standards (ISO C 99, POSIX.1c, POSIX.1j, POSIX.1d, Unix98, Single Unix Specification). It is also internationalized and has one of the most complete internationalization interfaces known.
Today the GNU C library is almost complete: nearly all known and useful functions from any other C library are available. However, there is still room for improvement. If you would like to add or improve features in the GNU C library, please look through at the latest PROJECTS file distributed with the glibc source, and coordinate your work with the maintainers at <email@example.com>.
Note that most large contributions to the code base will require authors to file copyright papers with the FSF. Please contact the maintainers with any queries.
glibc distributes a CONFORMANCE report detailing adherence to various standards. This list also shows where GNU libc needs to be improved.
The GNU C library manual is incomplete. It would be very helpful if you could spend a bit of your time on writing the missing parts. Please coordinate your work with the maintainers <firstname.lastname@example.org>.
For more information on the process of porting see Porting the C Library in the glibc manual. The status of ports and their sub-maintainers is currently documented on the ports page. If you are interested in porting GNU libc to additional system types, please contact the maintainers <email@example.com> before beginning your port.
The current version is 2.3.5.
See the NEWS file for more information.
There is a FAQ which you should read first.
The releases are available at http://ftp.gnu.org/gnu/glibc/ and its mirrors.
For more information on porting see Porting the GNU C Library.
See this page for information on reporting bugs in the GNU C Library.
The canonical source for information about the GNU C Library the reference manual available at <http://www.gnu.org/software/libc/manual/>
Also see this page for some resources relevant to the GNU C Library.
Many others have contributed in large amounts as documented in the glibc Contributors.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: $Date: 2005/09/22 23:50:38 $ $Author: ianw $