There is a Korean translation of an older version of this page, in case you prefer this language.

GNU C Library


You can report bugs in the GNU C Library by:

Any Unix-like operating system needs a C library: the library which defines the ``system calls'' and other basic facilities such as malloc.

The GNU C library is used as the C library in the GNU system. A modified version of it is used as the C library in Linux-based GNU systems, and the plan is that the next release, 2.0, will be used unmodified as the C library for Linux-based GNU systems.

The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library is 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.

Today the GNU C library should be 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 the list of open tasks, then coordinate your work with the maintainers.

The GNU C library is designed to be portable. Although the library sources are very complex, you can build it for any supported system with the simple commands configure & make---provided your platform is supported! For more information on porting and the status of ports for Version 2, see Porting the GNU C Library. If you are interested in porting GNU libc to additional system types, please contact the maintainers.

If you are working on developing or porting GNU libc, you should consider joining the developers mailing list. To join, write to the list keeper. Please do not send a request if you only want to lurk. If you are only interested in announcements of new test releases, write to the announcement list keeper.

Current Status of the GNU C library

The current version is *2.0. The new major version number reflects major changes, several years of work. 1.09.1 was a static library in the style of the 80s; the new version 2.0 implements the state of the art in C library technology. If follows even the most recent standards (ISO C/amendment 1, POSIX.1c, XPG4.2). It is also internationalized, although it is still missing a few functions needed for the most complete internationalization interface known.

Version 2.0 is built as a shared library---in fact, multiple shared libraries. Several parts of the library are separated out and are dynamically linked into the process when needed.

Please read the *announcement for more information about the GNU libc. If you use GNU's libc on a Linux/GNU system, please read the *extended announcement.

Availability

Current *test releases for the 2.0 version of GNU libc are available. In the same directory there are several additional package which can be used with the GNU libc. These are distributed separately either because of legal problems (such as the export restriction of cryptographic software) or because they are maintained by people outside the GNU libc developers group.

Currently there are three Add-On package available:

Please consult the FAQ file to find out how to handle these add-ons. The previously available NIS/YP add-on is now an integral part of the GNU libc itself.

Supported Systems

Version 2 currently supports only GNU systems---both Hurd-based and Linux-based GNU systems. Version 1.09.1 supported many more systems; we hope that version 2 will be ported to them. For more information on porting and the status of ports, see Porting the GNU C Library.

Open tasks

This list is not the most up-to-date list of pending tasks. Consult the file PROJECTS in the GNU C library distribution for most recent changes.

Who is who

The GNU libc was mainly written by Roland McGrath <roland@gnu.ai.mit.edu> when he worked for the FSF. Currently the GNU libc is maintained by Ulrich Drepper <drepper@cygnus.com>. Many others contributed in large amounts.

The support for the GNU Hurd was partly written by Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> and Miles Bader <miles@gnu.ai.mit.edu>. The port for GNU/Linux on the m68k was done and is maintained by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>, the port for GNU/Linux on the Alpha is due to Richard Henderson <rth@tamu.edu> and David Mosberger-Tang <davidm@azstarnet.com>.

Bang-Jun-Young <bangjy@nownuri.nowcom.co.kr> contributed a Korean translation of this page.


Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@prep.ai.mit.edu. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@www.gnu.ai.mit.edu, send other questions to gnu@prep.ai.mit.edu.

Copyright (C) 1996, 1997 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.

Updated: 11 Mar 1997 tower