[PATCH 3/4] libc.7: Revise.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Content:
* Define the term "standard C library".
* Say who's responsible for standardizing it.
* Move material describing structure glibc from intro(3) to here and
  recast in more detail.
* Update example filespec for libc.so.6.

Style:
* Set `TH` page title in lowercase, since the migration is underway.
* Say "GNU/Linux distributions" instead of "Linux distributions".
* Tighten wording.

Markup:
* Use typographer's quotation marks instead of '"' for quotation.
* Hyperlink "the GNU C Library" correctly.
* Use `P` instead of `PP` paragraphing macro.
* Add hyphenation breaks to URLs and the new unwieldy ISO WG identifier.
---
 man7/libc.7 | 157 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 98 insertions(+), 59 deletions(-)

diff --git a/man7/libc.7 b/man7/libc.7
index 12c79dc11..f5cda54ef 100644
--- a/man7/libc.7
+++ b/man7/libc.7
@@ -3,95 +3,134 @@
 .\"
 .\" SPDX-License-Identifier: Linux-man-pages-copyleft
 .\"
-.TH LIBC 7 (date) "Linux man-pages (unreleased)"
+.TH libc 7 (date) "Linux man-pages (unreleased)"
 .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.
+The term \(lqlibc\(rq is commonly used as a shorthand for
+the
+.IR "standard C library" ,
+a collection of functions,
+data types,
+constants,
+and global variables \" like errno
+defined by ISO/IEC JTC1/\:SC22/\:WG14 and POSIX.1
+(the Austin Group)
+and used by practically all programs written in C.
+.I libc
+refers to any library that implements a significant portion of the
+published standard interface.
 .SS glibc
-By far the most widely used C library on Linux is the GNU C Library
+The standard libc most popularly used with the Linux kernel is
 .UR http://www.gnu.org\:/software\:/libc/
+the GNU C Library
 .UE ,
-often referred to as
+widely called
 .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
+This implementation is nowadays used
+in all major GNU/Linux distributions.
+Its details are documented
 in the relevant pages of the
+Linux
 .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.
+project,
+primarily in section 3 of the manual.
+glibc also offers a manual of its own in Texinfo format,
+browsable at the command line with
+.RI \(lq "info libc" \(rq.
+.P
+glibc is organized into three
+.I dynamic shared objects
+(DSOs):
+.I libc
+itself,
+.I libm
+for mathematical functions,
+and
+.I librt
+for real-time extensions
+(historically POSIX.1b).
+.P
+Version 1.0 of glibc was released in September 1992.
 (There were earlier 0.x releases.)
-The next major release of glibc was 2.0, at the beginning of 1997.
-.PP
-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.
+The next major release of glibc was 2.0
+at the beginning of 1997.
+.P
+The file
+.IR /lib/libc.so.6 ,
+.IR /lib/x86_64\-linux\-gnu/libc.so.6 ,
+or similar
+is normally a symbolic link to the glibc library.
+Execute it to display information about the version installed on your
+system.
 .SS Linux libc
-In the early to mid 1990s, there was for a while
+In the early to mid-1990s,
 .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".
+a fork of glibc\~1,
+was maintained by Linux developers
+who felt that glibc development at the time
+did not meet the Linux user community's needs.
+Often,
+this library was referred to,
+simply and ambiguously,
+as \(lqlibc\(rq.
 Linux libc released major versions 2, 3, 4, and 5,
-as well as many minor versions of those releases.
-Linux libc4 was the last version to use the a.out binary format,
-and the first version to provide (primitive) shared library support.
-Linux libc 5 was the first version to support the ELF binary format;
-this version used the shared library soname
+along with many minor updates.
+Linux libc\~4 was the last to use the
+object file format called \(lqa.out\(rq,
+and the first on Linux to provide (primitive) shared library support.
+Linux libc\~5 was the first on Linux to support ELF object code;
+it employed the
+.I soname
+(shared object name)
 .IR libc.so.5 .
 For a while,
-Linux libc was the standard C library in many Linux distributions.
-.PP
-However, notwithstanding the original motivations of the Linux libc effort,
-by the time glibc 2.0 was released (in 1997),
+Linux libc was the standard C library in many GNU/Linux distributions.
+.P
+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.
-To avoid any confusion with Linux libc versions,
-glibc 2.0 and later used the shared library soname
-.IR libc.so.6 .
-.PP
+and all major distributions that had been using Linux libc
+soon switched (back) to glibc.
+To avoid confusion with Linux libc versioning,
+glibc 2.0 and later use the soname
+.I libc.so.6
+on Linux systems to indicate their status as successors
+to Linux libc\~5.
+.P
 Since the switch from Linux libc to glibc 2.0 occurred long 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 a few manual pages,
-in particular, references to
+Nevertheless,
+vestiges of this history linger in comments
+about Linux libc in a few manual pages\(em\
+in particular,
+references to
 .I 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.
+Other,
+less widely used,
+C libraries for Linux exist.
+They are generally smaller than glibc
+in terms of features and memory footprint,
+and are often intended for building small binaries,
+such as those targetting embedded systems.
 Among such libraries are
-.UR http://www.uclibc.org/
+.UR http://www\:.uclibc\:.org/
 .I uClibc
 .UE ,
-.UR http://www.fefe.de/dietlibc/
-.I dietlibc
+.UR http://www\:.fefe\:.de/\:dietlibc/
+.I \%diet\%libc
 .UE ,
 and
-.UR http://www.musl\-libc.org/
-.I "musl libc"
+.UR http://www\:.musl\-libc\:.org/
+.I musl libc
 .UE .
-Details of these libraries are covered by the
+Details of these are offered by
 .I man-pages
-project, where they are known.
+where known.
 .SH SEE ALSO
 .BR syscalls (2),
 .BR getauxval (3),
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux