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