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