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