uClibc toolchains
Cross-compiling toolchains for the uClibc C library
If you use the uClibc C library instead of GNU libc, you can save a significant amount of storage space. uClibc is 4 times smaller, and if you build static binaries (such as busybox), they will be at least 2 times smaller!
Here are uClibc cross-compiling toolchains were are making for the KernelKit GNU/Linux live CD.
You can reuse them for your own embedded projects:
- They can only run on x86 GNU/Linux computers
- You have to expand the below archives in /usr/local (toolchains are not relocatable).
All of them have been built with the buildroot tool. The generated directories were compacted with our clink script. Generated toolchains are then tested by compiling a simple static program as well as Busybox.
Though you can use these ones, do not hesitate to make your own toolchain according to your exact needs. Indeed, it's very easy to do with buildroot!
Known issues
It can happen that symbolic links are missing in the toolchain installation. Then, you have to use <arch>-linux-uclibc- as compiler prefix instead of just <arch>-linux-.
uClibc 0.9.28-3
Released on Apr. 5, 2006
Caution: because of a mistake in the way we created the archives for this version, you have to install extract these archives in /usr/local/uclibc-0.9.28-3 instead.
Improvements and updates: built with gcc-3.4.6 (instead of 3.4.5), renamed ppc to powerpc, Intel toolchain supporting i386 (instead of i686, mistake in version 0.9.28-2), automated testing before the release.
Built with buildroot-20060405 (config files), binutils-2.16.1, gcc-3.4.6, gdb-6.3, linux-libc-headers-2.4.31, ncurses-5.5.
- alpha: generic alpha (built without: target utilities and gdb)
- arm: generic arm with mmu, softfloat
- arm big endian: generic arm with mmu, softfloat
- i386: generic i386
- m68k: generic m68k (built without: gdb)
- mips: generic mips with mmu, softfloat
- mips little endian: generic mips with mmu, softfloat
- powerpc: generic powerpc
- sh: sh4 little endian (built without: gdb)
uClibc 0.9.28-2
Released on Mar. 10, 2006
Improvements and updates: built with gcc-3.4.5 (instead of 3.4.2), added sstrip support in all versions, added elf2flt support when supported (arm, m68k, ppc), softfloat (mips, mipsel, already shipped with arm and armeb).
Built with buildroot-20060308 (config files), binutils-2.16.1, gcc-3.4.5, gdb-6.3, linux-libc-headers-2.4.31, ncurses-5.5.
- alpha: generic alpha (built without: target utilities and gdb)
- arm: generic arm with mmu, softfloat
- arm big endian: generic arm with mmu, softfloat
- i386: generic i386
- m68k: generic m68k (built without: gdbserver)
- mips: generic mips with mmu, softfloat
- mips little endian: generic mips with mmu, softfloat
- powerpc: generic powerpc
- sh: sh4 little endian (built without: gdb)
uClibc 0.9.28
Released on Aug. 15, 2005
Built with buildroot-20050818 (config files), binutils-2.16.1, gcc-3.4.2, gdb-6.3, linux-libc-headers-2.4.31, ncurses-5.2.
- arm: generic arm with mmu, softfloat
- arm big endian: generic arm with mmu, softfloat
- i386: generic i386
- m68k: generic m68k (built without: target utilities and gdb)
- mips: generic mips with mmu
- mips little endian: generic mips with mmu
- powerpc: generic powerpc
- sh: sh4 little endian (built without: target gdb)

