I initially took some syscalls from Redhat minilibc, but the code has been completely replaced now. I initially took localtime and the directory reading routines from uClibc, but the code has been completely replaced now. The malloc code was done by Olaf Dreesen, who also helped with the SPARC start code and fork(). Olaf also did the printf and scanf routines and he implemented pthreads (wow!) and his now writing a dynamic linker syslog and crypt were contributed by René Müller. Jeff Garzik contributed {get,set}{pw,gr,sp}ent. Uwe Ohse went through the code and many bugs. Frank Klemm contributed the math library and a lot of correctness and smallness patches and rewrote many functions in ix86 assembly language. I also grabbed code from glibc (mostly assembly routines), and looked at the OpenBSD libc for inspiration.