Installing the ARM toolchain
This documents describes the installation of binutils 2.16 and GCC 4.0.2 for ARM on a FreeBSD 6.0-RELEASE platform. Other versions should work. This is a very minimal installation, since FreeMAC doesn't even need a C library (a minimal one is included in its source because of size considerations).-
Set up a directory which will contain the binaries. Here, we assume we are running as unprivilegied user and installing in the home directory. You can also use /usr/local or /usr (beware of not messing up your native toolchain if you do !) and skip this step.
$ mkdir /home/seb/arm
$ export PATH=$PATH:/home/seb/arm/bin - Grab from your favorite GNU mirror the files binutils-2.16.tar.bz2 and gcc-4.0.2.tar.bz2. Uncompress them.
-
For ARM946E, GCC expects the CPU type to be "arm946e-s", while the assembler expects "arm946e". Edit binutils-2.16/as/config/tc-arm.c and replace "arm946e" with "arm946e-s" line 12699.
This problem has been fixed in binutils 2.17, so skip this step if you are using a version that is recent enough. -
Install binutils :
$ cd binutils-2.16
$ ./configure --target=arm-elf --prefix=/home/seb/arm --enable-interwork --enable-multilib
$ gmake
$ gmake install
-
Install GCC :
$ mkdir gcc-build
$ cd gcc-build
$ ../gcc-4.0.2/configure --target=arm-elf --prefix=/home/seb/arm --enable-interwork --enable-multilib --enable-languages="c"
$ gmake all-gcc
$ gmake install-gcc
In case of trouble, just post in the FreeMAC developers forum.