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