diff --git a/man7/libc.7 b/man7/libc.7 new file mode 100644 index 000000000..1109ce9e3 --- /dev/null +++ b/man7/libc.7 @@ -0,0 +1,101 @@ +.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk +.\" +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.TH LIBC 7 2009-01-13 "Linux" "Linux Programmer's Manual" +.SH NAME +libc \- Overview of standard C libraries on Linux +.SH DESCRIPTION +The term "libc" is commonly used as a shorthand for +the "standard C library", +a library of standard functions that can be used by all C programs +(and sometimes by programs in other languages). +Because of some history (see below), use of the term "libc" +to refer to the standard C library is somewhat ambiguous on Linux. +.SS glibc +By far the most widely used C library on Linux is the GNU C Library +.RI ( http://www.gnu.org/software/libc/ ), +often referred to as +.IR glibc . +This is the C library that is nowadays used in all +major Linux distributions. +It is also the C library whose details are documented +in the relevant pages of the +.I man-pages +project (primarily in Section 3 of the manual). +Documentation of glibc is also available in the glibc manual, +available via the command +.IR "info libc" . +Release 1.0 of glibc was made in September 1992. +(There were earlier 0.x releases.) +The next major release of glibc was 2.0, at the beginning of 1997. + +The pathname +.I /lib/libc.so.6 +(or something similar) is normally a symbolic link that +points to the location of the glibc library, +and executing this pathname will cause glibc to display +various information about the version installed on your system. +.SS Linux libc +In the early to mid 1990s, there was for a while +.IR "Linux libc" , +a fork of glibc 1.x created by Linux developers who felt that glibc +development at the time was not sufficing for the needs of Linux. +Often, this library was referred to (ambiguously) as just "libc". +Linux libc released major versions 2, 3, 4, and 5 +(as well as many minor versions of those releases). +For a while, +Linux libc was the standard C library in many Linux distributions. +However, notwithstanding the original motivations of the Linux libc effort, +by the time glibc 2.0 was released, it was clearly superior to Linux libc, +and all major Linux distributions that had been using Linux libc +soon switched back to glibc. +(Since this switch occurred over a decade ago, +.I man-pages +no longer takes care to document Linux libc details. +Nevertheless, the history is visible in vestiges of information +about Linux libc that remain in some manual pages, +in particular, references to +.IR libc4 +and +.IR libc5 .) +.SS Other C libraries +There are various other less widely used C libraries for Linux. +These libraries are generally smaller than glibc, +both in terms of features and memory footprint, +and often intended for building small binaries, +perhaps targeted at development for embedded Linux systems. +Among such libraries are +.I uClibc +.RI ( http://www.uclibc.org/ ) +and +.I dietlibc +.RI ( http://www.fefe.de/dietlibc ). +Details of these libraries are generally not covered by the +.I man-pages +project. +.SH SEE ALSO +.\" FIXME add SEE ALSO entries from the following pages: +.BR syscalls (2), +.BR feature_test_macros (7), +.BR man-pages (7), +.BR standards (7)