]>
Commit | Line | Data |
---|---|---|
d9dc34cd | 1 | @node Contributors, Free Manuals, Platform, Top |
1f77f049 JM |
2 | @c %MENU% Who wrote what parts of the GNU C Library |
3 | @appendix Contributors to @theglibc{} | |
3c20b9b6 | 4 | |
d8e272ab AJ |
5 | @Theglibc{} project would like to thank its many contributors. |
6 | Without them the project would not have been nearly as successful as | |
7 | it has been. Any omissions in this list are accidental. Feel free to | |
8 | file a bug in bugzilla if you have been left out or some of your | |
9 | contributions are not listed. Please keep this list in alphabetical | |
10 | order. | |
3c20b9b6 UD |
11 | |
12 | @itemize @bullet | |
d8e272ab | 13 | |
3c20b9b6 | 14 | @item |
d8e272ab | 15 | Ryan S. Arnold for his improvements for Linux on PowerPC. |
3c20b9b6 UD |
16 | |
17 | @item | |
d8e272ab AJ |
18 | Miles Bader for writing the @code{argp} argument-parsing package, and the |
19 | @code{argz}/@code{envz} interfaces. | |
3c20b9b6 UD |
20 | |
21 | @item | |
d8e272ab | 22 | Jeff Bailey for his maintainership of the HPPA architecture. |
3c20b9b6 UD |
23 | |
24 | @item | |
d8e272ab | 25 | Petr Baudis for bug fixes and testing. |
3c20b9b6 UD |
26 | |
27 | @item | |
d8e272ab AJ |
28 | Stephen R. van den Berg for contributing a highly-optimized |
29 | @code{strstr} function. | |
3c20b9b6 | 30 | |
db24e684 DM |
31 | @item |
32 | Ondrej Bilka for contributing optimized string routines for x64. | |
33 | ||
3c20b9b6 | 34 | @item |
d8e272ab AJ |
35 | Eric Blake for adding O(n) implementations of @code{memmem}, |
36 | @code{strstr} and @code{strcasestr}. | |
3c20b9b6 UD |
37 | |
38 | @item | |
d8e272ab AJ |
39 | Philip Blundell for the ports to Linux/ARM |
40 | (@code{arm-@var{ANYTHING}-linuxaout}) and ARM standalone | |
41 | (@code{arm-@var{ANYTHING}-none}), as well as for parts of the IPv6 | |
42 | support code. | |
3c20b9b6 UD |
43 | |
44 | @item | |
d8e272ab AJ |
45 | Per Bothner for the implementation of the @code{libio} library which |
46 | is used to implement @code{stdio} functions. | |
3c20b9b6 UD |
47 | |
48 | @item | |
d8e272ab AJ |
49 | Mark Brown for his direction as part of @theglibc{} steering |
50 | committee. | |
3c20b9b6 UD |
51 | |
52 | @item | |
d8e272ab | 53 | Thomas Bushnell for his contributions to Hurd. |
3c20b9b6 UD |
54 | |
55 | @item | |
06c5abbd AJ |
56 | Liubov Dmitrieva for optimzed string and math functions on x86-64 and |
57 | x86. | |
3c20b9b6 UD |
58 | |
59 | @item | |
d8e272ab AJ |
60 | Ulrich Drepper for his many contributions in almost all parts of |
61 | @theglibc{}, including: | |
62 | @itemize @bullet | |
63 | @item internationalization support, including the @code{locale} and | |
64 | @code{localedef} utilities. | |
65 | @item Linux i386/ELF support | |
66 | @item the @code{hsearch} and @code{drand48} families of functions, | |
67 | reentrant @samp{@dots{}@code{_r}} versions of the @code{random} | |
68 | family; System V shared memory and IPC support code | |
69 | @item several highly-optimized string functions for i@var{x}86 | |
70 | processors | |
71 | @item many math functions | |
72 | @item the character conversion functions (@code{iconv}) | |
73 | @item the @code{ftw} and @code{nftw} functions | |
74 | @item the floating-point printing function used by @code{printf} and friends | |
75 | and the floating-point reading function used by @code{scanf}, | |
76 | @code{strtod} and friends | |
77 | @item the @code{catgets} support and the entire suite of multi-byte | |
78 | and wide-character support functions (@file{wctype.h}, @file{wchar.h}, etc.). | |
79 | @item versioning of objects on the symbol level | |
80 | @end itemize | |
3c20b9b6 UD |
81 | |
82 | @item | |
d8e272ab AJ |
83 | Paul Eggert for the @code{mktime} function and for his direction as |
84 | part of @theglibc{} steering committee. | |
3c20b9b6 | 85 | |
06c5abbd AJ |
86 | @item |
87 | Tulio Magno Quites Machado Filho for adding a new class of installed | |
88 | headers for low-level platform-specific functionality and one such for | |
89 | PowerPC. | |
90 | ||
3c20b9b6 | 91 | @item |
d8e272ab AJ |
92 | Mike Frysinger for his maintaining of the IA64 architecture and for |
93 | testing and bug fixing. | |
3c20b9b6 UD |
94 | |
95 | @item | |
d8e272ab AJ |
96 | Michael Glad for the DES encryption function @code{crypt} and related |
97 | functions. | |
3c20b9b6 UD |
98 | |
99 | @item | |
d8e272ab AJ |
100 | Wolfram Gloger for contributing the memory allocation functions |
101 | functions @code{malloc}, @code{realloc} and @code{free} and related | |
102 | code. | |
3c20b9b6 UD |
103 | |
104 | @item | |
d8e272ab AJ |
105 | Torbj@"orn Granlund for fast implementations of many of the string |
106 | functions (@code{memcpy}, @code{strlen}, etc.). | |
3c20b9b6 UD |
107 | |
108 | @item | |
d8e272ab AJ |
109 | Michael J. Haertel for writing the merge sort function @code{qsort} |
110 | and malloc checking functions like @code{mcheck}. | |
3c20b9b6 UD |
111 | |
112 | @item | |
d8e272ab AJ |
113 | Bruno Haible for his improvements to the @code{iconv} and locale |
114 | implementations. | |
3c20b9b6 UD |
115 | |
116 | @item | |
d8e272ab AJ |
117 | Richard Henderson for the port to Linux on Alpha |
118 | (@code{alpha-@var{anything}-linux}). | |
3c20b9b6 | 119 | |
db24e684 DM |
120 | @item |
121 | David Holsgrove for the port to Linux on MicroBlaze. | |
122 | ||
3c20b9b6 | 123 | @item |
d8e272ab | 124 | Daniel Jacobowitz for various fixes and enhancements. |
3c20b9b6 UD |
125 | |
126 | @item | |
d8e272ab AJ |
127 | Andreas Jaeger for the port to Linux on x86-64 |
128 | (@code{x86_64-@var{anything}-linux} and his work on Linux for MIPS | |
129 | (@code{mips-@var{anything}-linux}), implementing the @file{ldconfig} | |
130 | program, providing a test suite for the math library and for his | |
131 | direction as part of @theglibc{} steering committee. | |
3c20b9b6 UD |
132 | |
133 | @item | |
d8e272ab | 134 | Aurelien Jarno for various fixes. |
3c20b9b6 UD |
135 | |
136 | @item | |
d8e272ab AJ |
137 | Jakub Jelinek for implementing a number of checking functions and for |
138 | his direction as part of @theglibc{} steering committee. | |
139 | ||
140 | @item | |
141 | Geoffrey Keating for the port to Linux on PowerPC | |
142 | (@code{powerpc-@var{anything}-linux}). | |
143 | ||
144 | @item | |
145 | Brendan Kehoe for contributing the port to the MIPS DECStation running | |
146 | Ultrix 4 (@code{mips-dec-ultrix4}) and the port to the DEC Alpha | |
147 | running OSF/1 (@code{alpha-dec-osf1}). | |
148 | ||
149 | @item | |
150 | Mark Kettenis for implementing the @code{utmpx} interface and an utmp | |
151 | daemon, and for a Hesiod NSS module. | |
152 | ||
db24e684 DM |
153 | @item |
154 | Andi Kleen for implementing pthreads lock elision with TSX. | |
155 | ||
d8e272ab AJ |
156 | @item |
157 | Kazumoto Kojima for the port of the Mach and Hurd code to the MIPS | |
158 | architecture (@code{mips-@var{anything}-gnu}) and for his work on the | |
159 | SH architecture. | |
160 | ||
161 | @item | |
162 | Andreas Krebbel for his work on Linux for s390 and s390x. | |
163 | ||
164 | @item | |
165 | Thorsten Kukuk for providing an implementation for NIS (YP) and NIS+, | |
166 | securelevel 0, 1 and 2 and for the implementation for a caching daemon | |
167 | for NSS (@file{nscd}). | |
168 | ||
169 | @item | |
170 | Jeff Law for various fixes. | |
171 | ||
172 | @item | |
173 | Doug Lea for contributing the memory allocation functions | |
174 | functions @code{malloc}, @code{realloc} and @code{free} and related | |
175 | code. | |
176 | ||
177 | @item | |
178 | Hongjiu Lu for providing the support for a Linux 32-bit runtime | |
179 | environment under x86-64 (x32), for porting to Linux on IA64, for | |
bc38c906 DM |
180 | improved string functions, a framework for testing IFUNC |
181 | implementations, and many bug fixes. | |
d8e272ab AJ |
182 | |
183 | @item | |
184 | Luis Machado for optimized functions on PowerPC. | |
185 | ||
186 | @item | |
187 | David J. MacKenzie for his contribution to the @code{getopt} | |
188 | function and writing the @file{tar.h} header. | |
189 | ||
190 | @item | |
191 | Greg McGary for adding runtime support for bounds checking. | |
192 | ||
193 | @item | |
194 | Roland McGrath for writing most of @theglibc{} originally, for his | |
195 | work on the Hurd port, his direction as part of @theglibc{} steering | |
196 | committee, and for many bug fixes and reviewing of contributions. | |
197 | ||
198 | @item | |
199 | Jason Merrill for the port to the Sequent Symmetry running Dynix | |
200 | version 3 (@code{i386-sequent-bsd}). | |
201 | ||
202 | @item | |
203 | Chris Metcalf for the port to Linux/Tile | |
204 | (@code{tilegx-@var{anything}-linux} and | |
205 | @code{tilepro-@var{anything}-linux}). | |
206 | ||
207 | @item | |
208 | David Miller for contributing the port to Linux/Sparc | |
209 | (@code{sparc*-@var{anything}-linux}). | |
210 | ||
211 | @item | |
212 | Alan Modra for his improvements for Linux on PowerPC. | |
213 | ||
214 | @item | |
215 | David Mosberger-Tang for contributing the port to Linux/Alpha | |
3c20b9b6 UD |
216 | (@code{alpha-@var{anything}-linux}). |
217 | ||
218 | @item | |
d8e272ab AJ |
219 | Stephen Moshier for implementing some 128-bit long double format math |
220 | functions. | |
3c20b9b6 UD |
221 | |
222 | @item | |
d8e272ab AJ |
223 | Stephen Munroe for his port to Linux on PowerPC64 |
224 | (@code{powerpc64-@var{anything}-linux}) and for adding optimized | |
225 | implementations for PowerPC. | |
3c20b9b6 UD |
226 | |
227 | @item | |
bc38c906 DM |
228 | Joseph S. Myers for numerous bug fixes for the libm functions, for |
229 | his maintainership of the ARM and MIPS architectures, improving | |
230 | cross-compilation and cross-testing of @theglibc{}, expanded | |
231 | coverage of conformtest, and merging the ports/ subdirectory | |
232 | into the @glibcadj{} main repository. | |
3c20b9b6 | 233 | |
db24e684 DM |
234 | @item |
235 | Will Newton for contributing an optimized memcpy for ARM NEON and | |
236 | VFP chips. | |
237 | ||
3c20b9b6 | 238 | @item |
d8e272ab AJ |
239 | Carlos O'Donell for his maintainership of the HPPA architecture and |
240 | maintaining @theglibc{} web pages. | |
3c20b9b6 UD |
241 | |
242 | @item | |
20196a5e AO |
243 | Alexandre Oliva for adding TLS descriptors for LD and GD on x86 and |
244 | x86-64, for the am33 port, for completing the MIPS n64/n32/o32 multilib | |
245 | port, and for various fixes. | |
3c20b9b6 UD |
246 | |
247 | @item | |
d8e272ab | 248 | Paul Pluzhnikov for various fixes. |
3c20b9b6 UD |
249 | |
250 | @item | |
d8e272ab | 251 | Marek Polacek for various fixes. |
3c20b9b6 UD |
252 | |
253 | @item | |
db24e684 DM |
254 | Siddhesh Poyarekar for various fixes and an implementation of a |
255 | framework for performance benchmarking of functions. | |
3c20b9b6 | 256 | |
4648c381 TS |
257 | @item |
258 | Tom Quinn for contributing the startup code to support SunOS shared | |
259 | libraries and the port to SGI machines running Irix 4 | |
260 | (@code{mips-sgi-irix4}). | |
261 | ||
3c20b9b6 | 262 | @item |
d8e272ab | 263 | Pravin Satpute for writing sorting rules for some Indian languages. |
3c20b9b6 | 264 | |
4648c381 TS |
265 | @item |
266 | Douglas C. Schmidt for writing the quick sort function used as a | |
267 | fallback by @code{qsort}. | |
268 | ||
06c5abbd AJ |
269 | @item |
270 | Will Schmidt for optimized string functions on PowerPC. | |
271 | ||
4648c381 TS |
272 | @item |
273 | Andreas Schwab for the port to Linux/m68k | |
274 | (@code{m68k-@var{anything}-linux}) and for his direction as part of | |
275 | @theglibc{} steering committee. | |
276 | ||
3c20b9b6 | 277 | @item |
d8e272ab AJ |
278 | Martin Schwidefsky for porting to Linux on s390 |
279 | (@code{s390-@var{anything}-linux}) and s390x | |
280 | (@code{s390x-@var{anything}-linux}). | |
3c20b9b6 | 281 | |
4648c381 TS |
282 | @item |
283 | Thomas Schwinge for his contribution to Hurd and the SH architecture. | |
284 | ||
3c20b9b6 | 285 | @item |
d8e272ab | 286 | Carlos Eduardo Seo for optimized functions on PowerPC. |
3c20b9b6 | 287 | |
bc38c906 | 288 | @item |
cedb2a90 | 289 | Marcus Shawcroft for contributing the AArch64 port. |
bc38c906 | 290 | |
3c20b9b6 | 291 | @item |
d8e272ab | 292 | Franz Sirl for various fixes. |
3c20b9b6 UD |
293 | |
294 | @item | |
d8e272ab | 295 | Jes Sorensen for porting to Linux on IA64 (@code{ia64-@var{anything}-linux}). |
3c20b9b6 UD |
296 | |
297 | @item | |
d8e272ab | 298 | Richard Stallman for his contribution to the @code{getopt} function. |
3c20b9b6 | 299 | |
d8e272ab AJ |
300 | @item |
301 | Alfred M. Szmidt for various fixes. | |
302 | ||
303 | @item | |
304 | Ian Lance Taylor for contributing the port to the MIPS DECStation | |
305 | running Ultrix 4 (@code{mips-dec-ultrix4}). | |
306 | ||
aac78a43 AJ |
307 | @item |
308 | Samuel Thibault for improving the Hurd port. | |
309 | ||
d8e272ab AJ |
310 | @item |
311 | Tim Waugh for the implementation of the POSIX.2 @code{wordexp} | |
312 | function family. | |
313 | ||
314 | @item | |
315 | Eric Youngdale for implementing versioning of objects on the symbol level. | |
316 | ||
317 | @item | |
318 | Adhemerval Zanella for optimized functions on PowerPC. | |
319 | ||
320 | @end itemize | |
321 | ||
322 | Some code in @theglibc{} comes from other projects and might be under | |
323 | a different license: | |
324 | ||
325 | @itemize @bullet | |
326 | @item | |
327 | The timezone support code is derived from the public-domain timezone | |
328 | package by Arthur David Olson and his many contributors. | |
329 | ||
330 | @item | |
331 | Some of the support code for Mach is taken from Mach 3.0 by CMU; | |
332 | the file if_ppp.h is also copyright by CMU, but under a different license; | |
333 | see the file @file{LICENSES} for the text of the licenses. | |
3c20b9b6 UD |
334 | |
335 | @item | |
336 | The random number generation functions @code{random}, @code{srandom}, | |
337 | @code{setstate} and @code{initstate}, which are also the basis for the | |
338 | @code{rand} and @code{srand} functions, were written by Earl T. Cohen | |
339 | for the University of California at Berkeley and are copyrighted by the | |
340 | Regents of the University of California. They have undergone minor | |
1f77f049 | 341 | changes to fit into @theglibc{} and to fit the @w{ISO C} standard, |
3c20b9b6 UD |
342 | but the functional code is Berkeley's.@refill |
343 | ||
d8e272ab AJ |
344 | @item |
345 | The Internet-related code (most of the @file{inet} subdirectory) and | |
346 | several other miscellaneous functions and header files have been | |
347 | included from 4.4 BSD with little or no modification. The copying | |
348 | permission notice for this code can be found in the file @file{LICENSES} | |
349 | in the source distribution. | |
350 | ||
351 | @item | |
352 | The @code{getaddrinfo} and @code{getnameinfo} functions and supporting | |
353 | code were written by Craig Metz; see the file @file{LICENSES} for | |
354 | details on their licensing. | |
355 | ||
3c20b9b6 | 356 | @item |
c6c6dd48 RM |
357 | The DNS resolver code is taken directly from BIND 4.9.5, which |
358 | includes copyrighted code from UC Berkeley and from Digital Equipment | |
359 | Corporation. See the file @file{LICENSES} for the text of the DEC license. | |
360 | ||
361 | @item | |
362 | The code to support Sun RPC is taken verbatim from Sun's | |
363 | @w{@sc{rpcsrc-4.0}} distribution; see the file @file{LICENSES} for the | |
364 | text of the license. | |
3c20b9b6 | 365 | |
c6c6dd48 | 366 | @item |
d8e272ab AJ |
367 | The math functions are taken from @code{fdlibm-5.1} by Sun |
368 | Microsystems, as modified by J.T. Conklin, Ian Lance Taylor, | |
369 | Ulrich Drepper, Andreas Schwab, and Roland McGrath. | |
370 | ||
371 | @item | |
372 | Many of the IEEE 64-bit double precision math functions | |
373 | (in the @file{sysdeps/ieee754/dbl-64} subdirectory) come | |
374 | from the IBM Accurate Mathematical Library, contributed by IBM. | |
3c20b9b6 | 375 | |
c6c6dd48 RM |
376 | @item |
377 | Many of the IA64 math functions are taken from a collection of | |
378 | ``Highly Optimized Mathematical Functions for Itanium'' that Intel | |
379 | makes available under a free license; see the file @file{LICENSES} for | |
380 | details. | |
3c20b9b6 | 381 | |
3c20b9b6 | 382 | @end itemize |