Toolchains
A toolchain is a complete collection of compiler and binutils programs and can be run either as a cross-compiler, or native on the target (if performance allows).
Contents |
MIPS SDE
MIPS Technologies UK (formerly Algorithmics) maintain their own source tree for the toolchain components. SDE combines all necessary GNU tools, is infrequently resynchronized with mainstream GNU releases (which inevitably have bugs for less widely used architectures such as MIPS) and focuses on providing the most reliable, best-performing compiler for the largest range of MIPS CPUs. The current SDE release is 5.03.06, and is based on GCC 2.96 with many local bug fixes and improvements. But if you are already using a GCC 3.x based MIPS toolchain then you should probably not try to downgrade to this version, due to ABI and library differences.
The Linux/386 cross-compiler is available as a single file, in RPM format:
- Linux/386 cross for little-endian target
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-5.03.06-1.i386.rpm
- Linux/386 cross for big-endian target
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinuxeb-5.03.06-1.i386.rpm.
The Linux/MIPS native compiler is organised into separate RPM files, mirroring the RedHat 7.x toolchain organisation:
- Native big-endian
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-binutils-5.03.06-1.mips.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-c++-5.03.06-1.mips.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-cpp-5.03.06-1.mips.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-gcc-5.03.06-1.mips.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-libstdc++-5.03.06-1.mips.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-libstdc++-devel-5.03.06-1.mips.rpm
- Native little-endian
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-binutils-5.03.06-1.mipsel.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-c++-5.03.06-1.mipsel.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-cpp-5.03.06-1.mipsel.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-gcc-5.03.06-1.mipsel.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-libstdc++-5.03.06-1.mipsel.rpm
- ftp://ftp.mips.com/pub/tools/software/sde-for-linux/sdelinux-libstdc++-devel-5.03.06-1.mipsel.rpm
To avoid conflicts with an existing native MIPS toolchain only, you can uninstall the old compiler and libstdcc installations using these commands:
# rpm -e `rpm -q -f /usr/bin/gcc` # rpm -e `rpm -q -f /usr/include/g++-3/streambuf.h`
The new sdelinux RPMs can then be installed in the normal way:
# rpm -Uv sdelinux-*-5.03.06-1*.rpm
MTUK would like to hear how well it worked, so contact them on sde@mips.com.
Maciej W. Rozycki
A stable set of toolchain components provided by Maciej can be downloaded from ftp://ftp3.ds.pg.gda.pl/pub/macro/ or the mirror at ftp://ftp.rfc822.org/pub/mirror/ftp3.ds.pg.gda.pl/people/macro/. This is based on gcc 2.95.3 (patched) and up-to-date binutils.
Dan Kegel
Dan Kegel has a page at http://kegel.com/crosstool/ with a nice script to automatize the build procedure. Crosstool can only generate toolchains that use the GNU C Library, support for the smaller C Library http://www.uclibc.org uClibc might be added in the future.
uClibc Toolchain and Buildroot
uClibc developers provide tools to generate toolchains and root filesystems with the uClibc standard C library.
The Toolchain tool allows to generate a toolchain for a variety of architectures, including MIPS and MIPSel.
The Buildroot tool allows to generate both a toolchain and a root filesystem for a variety of architectures, including MIPS and MIPSel. Using a configuration tool (similar to the one used for the Linux Kernel), you can select compiler version, binutils version, and all softwares that should be included in the root filesystem. Then the Makefiles will automatically download, configure, compile, install and generate the toolchain and the root filesystem image.
OpenEmbedded
The OpenEmbedded meta distribution also includes an automatic build of a full cross-toolchain for it's target architecture. http://www.openembedded.org
Linux4.BE SDK
provides sources and precompiled toolcain binaries for Linux and Win32/Cygwin hosts: http://www.linux4.be/~jal0/
DENX ELDK
DENX Software Engineering provides the ELDK (Embedded Linux Development Kit), which includes both cross development and native tools for big and little endian MIPS processors (also for ARM and PowerPC). It can be downloaded for FREE. See http://www.denx.de/twiki/bin/view/DULG/ELDK
Commercial Toolchains
All commercial Linux/MIPS distributions come with appropriate toolchain deliverables.
See also
- GCC The Linux/MIPS GCC page
- Bradley D. LaRonde: Building a Modern MIPS Cross-Toolchain for Linux