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