216 lines
7.2 KiB
Plaintext
216 lines
7.2 KiB
Plaintext
@node Contributors, Free Manuals, Maintenance, Top
|
|
@c %MENU% Who wrote what parts of the GNU C library
|
|
@appendix Contributors to the GNU C Library
|
|
|
|
The GNU C library was written originally by Roland McGrath, and is
|
|
currently maintained by Ulrich Drepper. Some parts of the library were
|
|
contributed or worked on by other people.
|
|
|
|
@itemize @bullet
|
|
@item
|
|
The @code{getopt} function and related code was written by
|
|
Richard Stallman, @w{David J.} MacKenzie, and @w{Roland McGrath}.
|
|
|
|
@item
|
|
The merge sort function @code{qsort} was written by Michael J. Haertel.
|
|
|
|
@item
|
|
The quick sort function used as a fallback by @code{qsort} was written
|
|
by Douglas C. Schmidt.
|
|
|
|
@item
|
|
The memory allocation functions @code{malloc}, @code{realloc} and
|
|
@code{free} and related code were written by Michael J. Haertel,
|
|
@w{Wolfram Gloger}, and @w{Doug Lea}.
|
|
|
|
@item
|
|
Fast implementations of many of the string functions (@code{memcpy},
|
|
@code{strlen}, etc.) were written by Torbj@"orn Granlund.
|
|
|
|
@item
|
|
The @file{tar.h} header file was written by David J. MacKenzie.
|
|
|
|
@item
|
|
The port to the MIPS DECStation running Ultrix 4
|
|
(@code{mips-dec-ultrix4})
|
|
was contributed by Brendan Kehoe and Ian Lance Taylor.
|
|
|
|
@item
|
|
The DES encryption function @code{crypt} and related functions were
|
|
contributed by Michael Glad.
|
|
|
|
@item
|
|
The @code{ftw} and @code{nftw} functions were contributed by Ulrich Drepper.
|
|
|
|
@item
|
|
The startup code to support SunOS shared libraries was contributed by
|
|
Tom Quinn.
|
|
|
|
@item
|
|
The @code{mktime} function was contributed by Paul Eggert.
|
|
|
|
@item
|
|
The port to the Sequent Symmetry running Dynix version 3
|
|
(@code{i386-sequent-bsd}) was contributed by Jason Merrill.
|
|
|
|
@item
|
|
The timezone support code is derived from the public-domain timezone
|
|
package by Arthur David Olson and his many contributors.
|
|
|
|
@item
|
|
The port to the DEC Alpha running OSF/1 (@code{alpha-dec-osf1}) was
|
|
contributed by Brendan Kehoe, using some code written by Roland McGrath.
|
|
|
|
@item
|
|
The port to SGI machines running Irix 4 (@code{mips-sgi-irix4}) was
|
|
contributed by Tom Quinn.
|
|
|
|
@item
|
|
The port of the Mach and Hurd code to the MIPS architecture
|
|
(@code{mips-@var{anything}-gnu}) was contributed by Kazumoto Kojima.
|
|
|
|
@item
|
|
The floating-point printing function used by @code{printf} and friends
|
|
and the floating-point reading function used by @code{scanf},
|
|
@code{strtod} and friends were written by Ulrich Drepper. The
|
|
multi-precision integer functions used in those functions are taken from
|
|
GNU MP, which was contributed by Torbj@"orn Granlund.
|
|
|
|
@item
|
|
The internationalization support in the library, and the support
|
|
programs @code{locale} and @code{localedef}, were written by Ulrich
|
|
Drepper. Ulrich Drepper adapted the support code for message catalogs
|
|
(@file{libintl.h}, etc.) from the GNU @code{gettext} package, which he
|
|
also wrote. He also contributed the @code{catgets} support and the
|
|
entire suite of multi-byte and wide-character support functions
|
|
(@file{wctype.h}, @file{wchar.h}, etc.).
|
|
|
|
@item
|
|
The implementations of the @file{nsswitch.conf} mechanism and the files
|
|
and DNS backends for it were designed and written by Ulrich Drepper and
|
|
Roland McGrath, based on a backend interface defined by Peter Eriksson.
|
|
|
|
@item
|
|
The port to Linux i386/ELF (@code{i386-@var{anything}-linux}) was
|
|
contributed by Ulrich Drepper, based in large part on work done in
|
|
Hongjiu Lu's Linux version of the GNU C Library.
|
|
|
|
@item
|
|
The port to Linux/m68k (@code{m68k-@var{anything}-linux}) was
|
|
contributed by Andreas Schwab.
|
|
|
|
@item
|
|
The ports to Linux/ARM (@code{arm-@var{ANYTHING}-linuxaout}) and ARM
|
|
standalone (@code{arm-@var{ANYTHING}-none}), as well as parts of the
|
|
IPv6 support code, were contributed by Philip Blundell.
|
|
|
|
@item
|
|
Richard Henderson contributed the ELF dynamic linking code and other
|
|
support for the Alpha processor.
|
|
|
|
@item
|
|
David Mosberger-Tang contributed the port to Linux/Alpha
|
|
(@code{alpha-@var{anything}-linux}).
|
|
|
|
@item
|
|
The port to Linux on PowerPC (@code{powerpc-@var{anything}-linux})
|
|
was contributed by Geoffrey Keating.
|
|
|
|
@item
|
|
Miles Bader wrote the argp argument-parsing package, and the argz/envz
|
|
interfaces.
|
|
|
|
@item
|
|
Stephen R. van den Berg contributed a highly-optimized @code{strstr} function.
|
|
|
|
@item
|
|
Ulrich Drepper contributed the @code{hsearch} and @code{drand48}
|
|
families of functions; reentrant @samp{@dots{}@code{_r}} versions of the
|
|
@code{random} family; System V shared memory and IPC support code; and
|
|
several highly-optimized string functions for i@var{x}86 processors.
|
|
|
|
@item
|
|
The math functions are taken from @code{fdlibm-5.1} by Sun
|
|
Microsystems, as modified by J.T. Conklin, Ian Lance Taylor,
|
|
Ulrich Drepper, Andreas Schwab, and Roland McGrath.
|
|
|
|
@item
|
|
The @code{libio} library used to implement @code{stdio} functions on
|
|
some platforms was written by Per Bothner and modified by Ulrich Drepper.
|
|
|
|
@item
|
|
Eric Youngdale and Ulrich Drepper implemented versioning of objects on
|
|
the symbol level.
|
|
|
|
@item
|
|
Thorsten Kukuk provided an implementation for NIS (YP) and NIS+,
|
|
securelevel 0, 1 and 2.
|
|
|
|
@item
|
|
Andreas Jaeger provided a test suite for the math library.
|
|
|
|
@item
|
|
Mark Kettenis implemented the utmpx interface and an utmp daemon.
|
|
|
|
@item
|
|
Ulrich Drepper added character conversion functions (@code{iconv}).
|
|
|
|
@item
|
|
Thorsten Kukuk provided an implementation for a caching daemon for NSS
|
|
(nscd).
|
|
|
|
@item
|
|
Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
|
|
|
|
@item
|
|
Mark Kettenis provided a Hesiod NSS module.
|
|
|
|
@item
|
|
The Internet-related code (most of the @file{inet} subdirectory) and
|
|
several other miscellaneous functions and header files have been
|
|
included from 4.4 BSD with little or no modification. The copying
|
|
permission notice for this code can be found in the file @file{LICENSES}
|
|
in the source distribution.
|
|
|
|
@item
|
|
The random number generation functions @code{random}, @code{srandom},
|
|
@code{setstate} and @code{initstate}, which are also the basis for the
|
|
@code{rand} and @code{srand} functions, were written by Earl T. Cohen
|
|
for the University of California at Berkeley and are copyrighted by the
|
|
Regents of the University of California. They have undergone minor
|
|
changes to fit into the GNU C library and to fit the @w{ISO C} standard,
|
|
but the functional code is Berkeley's.@refill
|
|
|
|
@item
|
|
The DNS resolver code is taken directly from BIND 4.9.5, which
|
|
includes copyrighted code from UC Berkeley and from Digital Equipment
|
|
Corporation. See the file @file{LICENSES} for the text of the DEC license.
|
|
|
|
@item
|
|
The code to support Sun RPC is taken verbatim from Sun's
|
|
@w{@sc{rpcsrc-4.0}} distribution; see the file @file{LICENSES} for the
|
|
text of the license.
|
|
|
|
@item
|
|
Some of the support code for Mach is taken from Mach 3.0 by CMU;
|
|
the file if_ppp.h is also copyright by CMU, but under a different license;
|
|
see the file @file{LICENSES} for the text of the licenses.
|
|
|
|
@item
|
|
Many of the IA64 math functions are taken from a collection of
|
|
``Highly Optimized Mathematical Functions for Itanium'' that Intel
|
|
makes available under a free license; see the file @file{LICENSES} for
|
|
details.
|
|
|
|
@item
|
|
The @code{getaddrinfo} and @code{getnameinfo} functions and supporting
|
|
code were written by Craig Metz; see the file @file{LICENSES} for
|
|
details on their licensing.
|
|
|
|
@item
|
|
Many of the IEEE 64-bit double precision math functions
|
|
(in the @file{sysdeps/ieee754/dbl-64} subdirectory) come
|
|
from the IBM Accurate Mathematical Library, contributed by IBM.
|
|
|
|
@end itemize
|