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