Old News

[20011116] dietlibc-0.12 (diff from 0.11) has been released. Again, far too many changes to list here, including md5 (and md5crypt), adjtimex, rand48, getopt fixes, DNS error signalling, ...

[20010823] I just moved this domain from apache to fnord/1.0, a mini httpd I wrote in the train to HAL2001. It is of course linked against the diet libc and each instance maps only 48k of memory as compared to apache's 4 megs (with PHP).

[20010731] dietlibc-0.11 has been released. Far too many changes to list here, including x86 math routines, a stdio rewrite, no need for kernel headers any more, an iconv implementation, openpty, ...

[20010606] I added a FAQ to the diet libc distribution. Here is a local checkout. (Note to self: I really must automate this...)

[20010530] Please do not port software to Windows! is a small write-up I wrote today. Please read it!

[20010523] dietlibc-0.10 has a lot of additions and fixes, the most important being: IPv6 DNS routines, a regular expression engine, Sun RPC, realpath, mntent, scandir and alphasort, integration of libpthread.a in the build tree, getserv*, and optional usage of "domain" and "search" from /etc/resolv.conf. The diet libc can now link links, openssl, openssh, the zsh, busybox, several popular web servers, ...

[20010515] I received an update of the Mandrakesoft testimonial, which is even more impressive now!

[20010418] dietlibc-0.9 has major upgrades to the pthreads, adds fnmatch, fixes initgroups, adds getgrnam and getgrgid, and finally separates the object files for the different architectures. It also adds a program called "diet" that can be used as "diet gcc -o t t.c" and it will automatically use the include files from the diet libc and link against the library from the proper target architecture (even when cross-compiling!).

[20010319] dietlibc-0.8 is a major upgrade with numerous new features and fixes. A few highlights: a gethostby{name,addr} with DNS support, crypt, qsort, bsearch, linker warnings (hehe), ungetc, an experimental pthreads implementation (!!), kernel 2.0 and 2.2 backwards compatibility for large file support, support for /etc/localtime (finally we support daylight saving time), a little pseudo locale support for ctype based on weak ELF symbols, and much more.

[20010317] I am making good progress with the CVS version. Among lots of minor fixes, it has crypt and a localtime that can parse /etc/localtime and thus support daylight saving time. I will release a new version when I squashed the remaining known bugs. I received a powerful testimonial for dietlibc from Mandrakesoft. But please read for yourself ;-)

[20010301] I set up a small archive of diet libc linked binaries at ftp://foobar.math.fu-berlin.de/pub/dietlibc/. Not much there, yet.

[20010203] dietlibc-0.7.2 fixes two major sparc bugs, adds mktime, asctime, ctime, localtime, gmtime, adds several prototypes, removes glibc compatibility crap, adds _FILE_OFFSET_BITS for large file support, fixes fread and it is now possible to link gzip, bzip2 and lzop against it.

[20010131] Writing Small Software is a small presentation I did for Convergence. Maybe it is of interest to others as well, so I decided to put it on the web.

[20010125] dietlibc-0.7.1 adds getopt, tolower, toupper, isupper, islower, strcasecmp, strncasecmp, pause, clone for mips, system, getpriority, setpriority, and it fixes setjmp and longjmp.

[20010116] dietlibc-0.7 has initial clone() support for i386 and alpha, adds a few system calls, fixes readdir and stat64 detection in stat.h, fixes line buffering for stdio. I launched a new companian project, libfefe, hoping to rid the world of some of libc's more broken APIs.

dietlibc-0.6.14 fixes scanf with %s, implements creat, optimized creat64, fixed the fread return value, and stdio buffering. It also makes strchr and strrchr pure for gcc.

dietlibc-0.6.13 fixes two showstoppers, one in malloc, one in the x86 unified syscall.

dietlibc-0.6.12 adds assert, statfs, fstatfs and include/net/if.h (released to make compiling fget possible).

dietlibc-0.6.11 adds putenv (released to make compiling fgetty 0.2 possible).

dietlibc-0.6.10 adds brk and sbrk and fixes fwrite and fgets.

dietlibc-0.6.9 does for readdir and friends what 0.6.7 did for stat and friends, and it fixes bugs in execvp, scanf, printf and getpw*.

dietlibc-0.6.8 adds thread safe system calls, strlcpy and strlcat, *stat64, endian.h, the new strlen now works on big endian systems, added a tweak to dietfeatures.h that disables unrolled string functions, sendfile, and pread (only works on x86 and sparc so far, I'm still investigating this).

dietlibc-0.6.7 now compiles without warnings with -Wall, printf optionally prints "(null)" when %s is passed NULL, added vfprintf, execl, ttyname, and made stat, fstat and lstat leaner (no struct stat translation).

dietlibc-0.6.6 fixes several bugs and introduces a dietfeatures.h where unneeded features can be compiled away. We now have a stdio! Well, enough stdio to make it compile minigzip from libz, anyway.

dietlibc-0.6.5 fixes several bugs (mostly related to the new header files), has a much faster strlen for ARM, and fixes pipe for PPC and SPARC.

dietlibc-0.6.4 adds a set of system includes and a few x86 assembly versions of string functions.

dietlibc-0.6.3 adds sys_errlist, strerror, perror, isblank and atol. It can now be used to compile and link syslinux-1.49 (after one applies this diff; here is a x86-linux binary, compressed with upx.

dietlibc-0.6.2 fixes mmap for ARM, which did not compile. I messed up the includes.

dietlibc-0.6.1 moves mmap into the architecture specific directores. Also new: getenv now works with environ==NULL and we have a new ARM startup code.

dietlibc-0.6 adds support for mips, arm and alpha with unified syscalls and setjmp and longjmp for each architecture.

I created a mailing list for diet libc (send an empty email to dietlibc-subscribe@fefe.de to subscribe).

dietlibc-0.5.11 implements unified assembler syscalls for sparc and ppc, too. Also added atexit(), fprintf for stdout and stderr, strtod and __dtostr.

dietlibc-0.5.10 produces significantly smaller binaries on x86!

dietlibc-0.5.9 now has rudimentary printf support!

dietlibc now supports x86-linux, sparc-linux and ppc-linux. I also have access to a mips-linux box and arm-linux but still have problems with my cross compiler setup.