elf: Add new LoongArch reloc types (110 to 126) into elf.h
[glibc.git] / manual / contrib.texi
blob6f987aab227049d556a2a3a3edd132c5ffc45bae
1 @node Contributors, Free Manuals, Platform, Top
2 @c %MENU% Who wrote what parts of the GNU C Library
3 @appendix Contributors to @theglibc{}
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.
12 @itemize @bullet
14 @item
15 Nick Alcock for contributing fixes to allow @theglibc{} to be built with the
16 stack smashing protector enabled.
18 @item
19 John David Anglin for various fixes to the hppa port.
21 @item
22 Albert ARIBAUD for Y2038 related fixes.
24 @item
25 Ryan S. Arnold for his improvements for Linux on PowerPC and his direction
26 as FSF Project Steward for @theglibc{}.
28 @item
29 Arsen Arsenovi@'c for various fixes.
31 @item
32 Miles Bader for writing the @code{argp} argument-parsing package, and the
33 @code{argz}/@code{envz} interfaces.
35 @item
36 Ralf B@"achle for contributing @file{fpu_control.h},
37 @file{regdef.h}, @file{sgidefs.h}, @file{sys/asm.h}, and @file{sys/regdef.h}
38 under the @file{sysdeps/mips} directory.
40 @item
41 Jeff Bailey for his maintainership of the HPPA architecture.
43 @item
44 Petr Baudis for bug fixes and testing.
46 @item
47 Fr@'ed@'eric B@'erat for numerous fixes and contributions.
49 @item
50 Indu Bhagat for various fixes.
52 @item
53 Anton Blanchard for various fixes.
55 @item
56 Stephen R. van den Berg for contributing a highly-optimized
57 @code{strstr} function.
59 @item
60 Ond@v{r}ej B@'ilka for contributing optimized string routines for x64 and various
61 fixes.
63 @item
64 Eric Blake for adding O(n) implementations of @code{memmem},
65 @code{strstr} and @code{strcasestr}.
67 @item
68 Philip Blundell for the ports to Linux/ARM
69 (@code{arm-@var{ANYTHING}-linuxaout}) and ARM standalone
70 (@code{arm-@var{ANYTHING}-none}), as well as for parts of the IPv6
71 support code.
73 @item
74 Mahesh Bodapati for various fixes.
76 @item
77 Per Bothner for the implementation of the @code{libio} library which
78 is used to implement @code{stdio} functions.
80 @item
81 Dridi Boukelmoune for various fixes.
83 @item
84 Mark Brown for his direction as part of @theglibc{} steering
85 committee.
87 @item
88 Sergey Bugaev for numerous contributions to Hurd.
90 @item
91 Thomas Bushnell for his contributions to Hurd.
93 @item
94 Yinyu Cai for their maintainership of the LoongArch port.
96 @item
97 Rogerio Alves Cardoso for various fixes to PowerPC.
99 @item
100 Daniel Cederman for fixes to the Sparc port.
102 @item
103 Kito Cheng for various fixes.
105 @item
106 Paul Clarke for optimized functions on PowerPC.
108 @item
109 Alejandro Colomar for various fixes.
111 @item
112 Martin Coufal for various fixes.
114 @item
115 Mike Crowe for various fixes.
117 @item
118 Flavio Cruz for contributions to Hurd.
120 @item
121 Palmer Dabbelt for contributing the port to Linux/RISC-V.
123 @item
124 DJ Delorie for maintenance of Linux/RISC-V, and various fixes.
126 @item
127 Jianbo Deng for the work on the Loongson port.
129 @item
130 Wilco Dijkstra for various fixes and work on the AArch64 port.
132 @item
133 Liubov Dmitrieva for optimized string and math functions on x86-64 and
134 x86.
136 @item
137 Michael Hudson Doyle for various fixes.
139 @item
140 Ulrich Drepper for his many contributions in almost all parts of
141 @theglibc{}, including:
142 @itemize @bullet
143 @item writing most of the POSIX Threads Library originally.
144 @item internationalization support, including the @code{locale} and
145 @code{localedef} utilities.
146 @item Linux i386/ELF support
147 @item the @code{hsearch} and @code{drand48} families of functions,
148 reentrant @samp{@dots{}@code{_r}} versions of the @code{random}
149 family; System V shared memory and IPC support code
150 @item several highly-optimized string functions for i@var{x}86
151 processors
152 @item many math functions
153 @item the character conversion functions (@code{iconv})
154 @item the @code{ftw} and @code{nftw} functions
155 @item the floating-point printing function used by @code{printf} and friends
156 and the floating-point reading function used by @code{scanf},
157 @code{strtod} and friends
158 @item the @code{catgets} support and the entire suite of multi-byte
159 and wide-character support functions (@file{wctype.h}, @file{wchar.h}, etc.).
160 @item versioning of objects on the symbol level
161 @end itemize
163 @item
164 Richard Earnshaw for continued support and fixes to the various ARM
165 machine files.
167 @item
168 Paul Eggert for the @code{mktime} function, for his direction as
169 part of @theglibc{} steering committee, and numerous fixes.
171 @item
172 Roy Eldar for various fixes.
174 @item
175 Steve Ellcey for various fixes.
177 @item
178 Mike FABIAN for automating Unicode updates, for updating the locale data
179 for ISO 14651, for updating the library Unicode support, and for many
180 locale updates and fixes.
182 @item
183 Tulio Magno Quites Machado Filho for adding a new class of installed
184 headers for low-level platform-specific functionality, including the
185 low-level platform-specific headers for PowerPC, for their maintainership
186 of the PowerPC port and various fixes.
188 @item
189 Olaf Flebbe and Ralf B@"achle for contributing
190 @file{sysdeps/mips/fpu_control.h}.
192 @item
193 Alistair Francis for Y2038 related fixes.
195 @item
196 Mike Frysinger for his maintaining of the IA64 architecture and for
197 testing and bug fixing.
199 @item
200 Martin Galvan for contributing gdb pretty printer support to glibc and adding
201 an initial set of pretty printers for structures in the POSIX Threads library.
203 @item
204 Romain Geissler for various fixes.
206 @item
207 Michael Glad for the passphrase-hashing function @code{crypt} and related
208 functions (no longer part of glibc, but we still appreciate his work).
210 @item
211 Wolfram Gloger for contributing the memory allocation functions
212 functions @code{malloc}, @code{realloc} and @code{free} and related
213 code.
215 @item
216 Noah Goldstein for contributing extensive x86 / x86-64 optimizations.
218 @item
219 Gabriel F. T. Gomes for his improvements for Linux on PowerPC and for
220 implementing the IEEE 128-bit floating point type for PowerPC.
222 @item
223 Torbj@"orn Granlund for fast implementations of many of the string
224 functions (@code{memcpy}, @code{strlen}, etc.).
226 @item
227 Vineet Gupta for their maintainership of the ARC port.
229 @item
230 Michael J. Haertel for writing the merge sort function @code{qsort}
231 and malloc checking functions like @code{mcheck}.
233 @item
234 Bruno Haible for his improvements to the @code{iconv} and locale
235 implementations and various fixes.
237 @item
238 Mao Han for the C-SKY port.
240 @item
241 Richard Henderson for the port to Linux on Alpha
242 (@code{alpha-@var{anything}-linux}) and software floating-point support.
244 @item
245 David Holsgrove for the port to Linux on MicroBlaze.
247 @item
248 Leonhard Holz for various fixes.
250 @item
251 Stafford Horne for maintainership of the OpenRISC port.
253 @item
254 Ying Huang for work on the MIPS port.
256 @item
257 Guy-Fleury Iteriteka for contributions to Hurd support.
259 @item
260 Daniel Jacobowitz for various fixes and enhancements.
262 @item
263 Andreas Jaeger for the port to Linux on x86-64
264 (@code{x86_64-@var{anything}-linux} and his work on Linux for MIPS
265 (@code{mips-@var{anything}-linux}), implementing the @file{ldconfig}
266 program, providing a test suite for the math library and for his
267 direction as part of @theglibc{} steering committee.
269 @item
270 Sam James for various fixes.
272 @item
273 Aurelien Jarno for various fixes.
275 @item
276 Rical Jasan for contributing various fixes in @theglibc{} manual.
278 @item
279 Jakub Jelinek for implementing a number of checking functions,
280 software floating-point support and for
281 his direction as part of @theglibc{} steering committee.
283 @item
284 Simon Josefsson for the @code{libidn} add-on.
286 @item
287 Geoffrey Keating for the port to Linux on PowerPC
288 (@code{powerpc-@var{anything}-linux}).
290 @item
291 Brendan Kehoe for contributing the port to the MIPS DECStation running
292 Ultrix 4 (@code{mips-dec-ultrix4}) and the port to the DEC Alpha
293 running OSF/1 (@code{alpha-dec-osf1}).
295 @item
296 Mark Kettenis for implementing the @code{utmpx} interface and a utmp
297 daemon, and for a Hesiod NSS module.
299 @item
300 Simon Kissane for gmon improvements.
302 @item
303 Andi Kleen for implementing pthreads lock elision with TSX.
305 @item
306 Kazumoto Kojima for the port of the Mach and Hurd code to the MIPS
307 architecture (@code{mips-@var{anything}-gnu}) and for his work on the
308 SH architecture.
310 @item
311 Pavel Kozlov for maintainership of the ARC port.
313 @item
314 Maxim Kuvyrkov for various fixes.
316 @item
317 Andreas Krebbel for his work on Linux for s390 and s390x.
319 @item
320 Thorsten Kukuk for providing an implementation for NIS (YP) and NIS+,
321 securelevel 0, 1 and 2 and for the implementation for a caching daemon
322 for NSS (@file{nscd}).
324 @item
325 Akhilesh Kumar for various fixes to locales.
327 @item
328 Jeff Law for various fixes.
330 @item
331 Doug Lea for contributing the memory allocation functions
332 @code{malloc}, @code{realloc} and @code{free} and related
333 code.
335 @item
336 Chris Leonard for various fixes and enhancements to localedata.
338 @item
339 Ilya Leoshkevich for various fixes.
341 @item
342 Dmitry V. Levin for various fixes.
344 @item
345 Stefan Liebler for numerous fixes and the work on the S390 port.
347 @item
348 Hongjiu Lu for providing the support for a Linux 32-bit runtime
349 environment under x86-64 (x32), for porting to Linux on IA64, for
350 improved string functions, a framework for testing IFUNC
351 implementations, for implementing Intel Control-Flow Enforcement
352 Technology, and many bug fixes.
354 @item
355 Rafa@l{} Lu@dotaccent{z}y@'nski
356 for contributing support for two grammatical forms of month
357 names, and for various fixes to locales.
359 @item
360 Maxim Kuvyrkov for various fixes.
362 @item
363 Luis Machado for optimized functions on PowerPC.
365 @item
366 David J. MacKenzie for his contribution to the @code{getopt}
367 function and writing the @file{tar.h} header.
369 @item
370 Lukasz Majewski for Y2038 related fixes.
372 @item
373 Greg McGary for adding runtime support for bounds checking.
375 @item
376 Roland McGrath for writing most of @theglibc{} originally, for his
377 work on the Hurd port, his direction as part of @theglibc{} steering
378 committee and as FSF Project Steward for @theglibc{}, and for many bug
379 fixes and reviewing of contributions.
381 @item
382 Allan McRae for various fixes.
384 @item
385 Jason Merrill for the port to the Sequent Symmetry running Dynix
386 version 3 (@code{i386-sequent-bsd}).
388 @item
389 Chris Metcalf for the port to Linux/Tile
390 (@code{tilegx-@var{anything}-linux} and
391 @code{tilepro-@var{anything}-linux}) and support for the generic Linux
392 kernel syscall interface used by several newer ports.
394 @item
395 Jim Meyering for various fixes.
397 @item
398 David Miller for contributing the port to Linux/Sparc
399 (@code{sparc*-@var{anything}-linux}).
401 @item
402 Cupertino Miranda for various fixes.
404 @item
405 Alan Modra for his improvements for Linux on PowerPC.
407 @item
408 Sachin Monga for various fixes.
410 @item
411 David Mosberger-Tang for contributing the port to Linux/Alpha
412 (@code{alpha-@var{anything}-linux}).
414 @item
415 Wainer dos Santos Moschetta for various fixes to powerpc.
417 @item
418 Stephen Moshier for implementing some 128-bit long double format math
419 functions.
421 @item
422 Stephen Munroe for his port to Linux on PowerPC64
423 (@code{powerpc64-@var{anything}-linux}) and for adding optimized
424 implementations for PowerPC.
426 @item
427 Paul E. Murphy for various fixes on PowerPC and for implementing the IEEE
428 128-bit floating point type for PowerPC.
430 @item
431 Joseph S. Myers for numerous bug fixes for the libm functions, for
432 his maintainership of the ARM and MIPS architectures and the math
433 component, improving cross-compilation and cross-testing of
434 @theglibc{}, expanded coverage of conformtest, merging the ports/
435 subdirectory into the @glibcadj{} main repository, C23 support,
436 and his direction as FSF Project Steward for @theglibc{}.
438 @item
439 Marko Myllynen for various fixes.
441 @item
442 Szabolcs Nagy for various fixes and contributions to AArch64.
444 @item
445 Nab for various fixes.
447 @item
448 Will Newton for contributing some optimized string functions and pointer
449 encryption support for ARM and various fixes.
451 @item
452 Carlos O'Donell for his maintainership of the HPPA architecture, for
453 maintaining @theglibc{} web pages and wiki, for his direction as FSF
454 Project Steward for @theglibc{} and various bug fixes.
456 @item
457 Alexandre Oliva for adding TLS descriptors for LD and GD on x86 and
458 x86-64, for the am33 port, for completing the MIPS n64/n32/o32 multilib
459 port, for thread-safety, async-signal safety and async-cancellation
460 safety documentation in the manual, for his direction as FSF Project
461 Maintainer and for various fixes.
463 @item
464 Sunil K. Pandey for various fixes.
466 @item
467 Ronan Pigott for various fixes.
469 @item
470 Paul Pluzhnikov for various fixes.
472 @item
473 Marek Polacek for various fixes.
475 @item
476 Siddhesh Poyarekar for various fixes, an implementation of a framework for
477 performance benchmarking of functions and implementing the tunables
478 infrastructure.
480 @item
481 Tom Quinn for contributing the startup code to support SunOS shared
482 libraries and the port to SGI machines running Irix 4
483 (@code{mips-sgi-irix4}).
485 @item
486 Joe Ramsay for contributing to the AArch64 port, in particular the
487 vector library.
489 @item
490 Torvald Riegel for the implementation of new algorithms for semaphores,
491 pthread_rwlock and condition variables.
493 @item
494 Maciej W. Rozycki for MIPS fixes, support for ABSOLUTE symbols,
495 and various fixes.
497 @item
498 Leonardo Sandoval for various fixes.
500 @item
501 Pravin Satpute for writing sorting rules for some Indian languages.
503 @item
504 Douglas C. Schmidt for writing the quick sort function used as a
505 fallback by @code{qsort}.
507 @item
508 Will Schmidt for optimized string functions on PowerPC.
510 @item
511 Andreas Schwab for the port to Linux/m68k
512 (@code{m68k-@var{anything}-linux}), for his direction as part of
513 @theglibc{} steering committee, and for various bug fixes.
515 @item
516 Martin Schwidefsky for porting to Linux on s390
517 (@code{s390-@var{anything}-linux}) and s390x
518 (@code{s390x-@var{anything}-linux}).
520 @item
521 Thomas Schwinge for his contribution to Hurd and the SH architecture.
523 @item
524 Martin Sebor for various fixes.
526 @item
527 Andrew Senkevich for contributing vector math function implementations for x86.
529 @item
530 Carlos Eduardo Seo for optimized functions on PowerPC.
532 @item
533 Arjun Shankar for testing and bug fixing.
535 @item
536 Marcus Shawcroft for contributing the AArch64 port.
538 @item
539 TAMUKI Shoichi for various fixes.
541 @item
542 Joe Simmons-Talbott for various fixes.
544 @item
545 Franz Sirl for various fixes.
547 @item
548 Gavin Smith for various fixes.
550 @item
551 Jes Sorensen for porting to Linux on IA64 (@code{ia64-@var{anything}-linux}).
553 @item
554 Julian Squires for various fixes.
556 @item
557 Rajalakshmi Srinivasaraghavan for various fixes and optimizations on PowerPC,
558 for implementing the IEEE 128-bit floating point type for PowerPC., and for
559 their maintainership of the PowerPC port.
561 @item
562 Richard Stallman for his contribution to the @code{getopt} function.
564 @item
565 Alfred M. Szmidt for various fixes.
567 @item
568 Chung-Lin Tang for contributing the Nios II port.
570 @item
571 Ian Lance Taylor for contributing the port to the MIPS DECStation
572 running Ultrix 4 (@code{mips-dec-ultrix4}).
574 @item
575 Samuel Thibault for numerous improvements to the Hurd port.
577 @item
578 Pino Toscano for various fixes.
580 @item
581 Matt Turner for various fixes to the Alpha port.
583 @item
584 Valery Ushakov for locale fixes.
586 @item
587 Hsiangkai Wang for various fixes.
589 @item
590 Tim Waugh for the implementation of the POSIX.2 @code{wordexp}
591 function family.
593 @item
594 Ulrich Weigand for various fixes to the PowerPC64 and Arm ports.
596 @item
597 Florian Weimer for his maintainership of the network component, for handling
598 of security issues, and for numerous fixes and contributions.
600 @item
601 Zack Weinberg for the @code{explicit_bzero} implementation and for various
602 fixes.
604 @item
605 Mark Wielaard for various fixes.
607 @item
608 Xi Ruoyao for various fixes.
610 @item
611 Qixing ksyx Xue for various fixes.
613 @item
614 Adam Yi for various fixes.
616 @item
617 Eric Youngdale for implementing versioning of objects on the symbol level.
619 @item
620 Adhemerval Zanella for optimized functions on PowerPC, ISO C threads support,
621 the work on tunables, and numerous contributions and fixes.
623 @item
624 Xuelei Zhang for optimized functions on AArch64.
626 @end itemize
628 Some code in @theglibc{} comes from other projects and might be under
629 a different license:
631 @itemize @bullet
632 @item
633 The timezone support code is derived from the public-domain timezone
634 package by Arthur David Olson and his many contributors.
636 @item
637 Some of the support code for Mach is taken from Mach 3.0 by CMU;
638 the file @file{if_ppp.h} is also copyright by CMU, but under a different license;
639 see the file @file{LICENSES} for the text of the licenses.
641 @item
642 The random number generation functions @code{random}, @code{srandom},
643 @code{setstate} and @code{initstate}, which are also the basis for the
644 @code{rand} and @code{srand} functions, were written by Earl T. Cohen
645 for the University of California at Berkeley and are copyrighted by the
646 Regents of the University of California.  They have undergone minor
647 changes to fit into @theglibc{} and to fit the @w{ISO C} standard,
648 but the functional code is Berkeley's.
650 @item
651 The Internet-related code (most of the @file{inet} subdirectory) and
652 several other miscellaneous functions and header files have been
653 included from 4.4 BSD with little or no modification.  The copying
654 permission notice for this code can be found in the file @file{LICENSES}
655 in the source distribution.
657 @item
658 The @code{getaddrinfo} and @code{getnameinfo} functions and supporting
659 code were written by Craig Metz; see the file @file{LICENSES} for
660 details on their licensing.
662 @item
663 The DNS resolver code is taken directly from BIND 8.2.3-T5B, which
664 includes copyrighted code from UC Berkeley and from Digital Equipment
665 Corporation.  See the file @file{LICENSES} for the text of the DEC license.
667 @item
668 The code to support Sun RPC is taken verbatim from Sun's
669 @w{@sc{rpcsrc-4.0}} distribution; see the file @file{LICENSES} for the
670 text of the license.
672 @item
673 The math functions are taken from @code{fdlibm-5.1} by Sun
674 Microsystems, as modified by J.T. Conklin, Ian Lance Taylor,
675 Ulrich Drepper, Andreas Schwab, and Roland McGrath.
677 @item
678 Many of the IEEE 64-bit double precision math functions
679 (in the @file{sysdeps/ieee754/dbl-64} subdirectory) come
680 from the IBM Accurate Mathematical Library, contributed by IBM.
682 @item
683 Many of the IA64 math functions are taken from a collection of
684 ``Highly Optimized Mathematical Functions for Itanium'' that Intel
685 makes available under a free license; see the file @file{LICENSES} for
686 details.
688 @end itemize