Fedora/ARM cross toolchain
The F12 ARM initiative created ARM cross toolchain packages for i386 and x86_64 that are built from the same sources as the Fedora native toolchain packages (binutils, gcc, gdb, glibc.) Right now these are gcc-4.1 vintage.
To install this toolchain on your Fedora machine, do:
# cd /etc/yum.repos.d/ # wget http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/cross.repo # yum install armv5tel-redhat-linux-gnueabi-gcc
This will install everything necessary to run the C compiler and cross-build ARM libraries and binaries that are entirely binary compatible with the native Fedora/ARM libraries and binaries.
You can find source packages for these if you are interested here.
Cross-compiling ARM userland binaries
To cross-compile the canonical Hello World example for ARM, do:
$ armv5tel-redhat-linux-gnueabi-gcc -Wall -o hello hello.c $
Cross-compiling ARM kernels
You can also use the cross-toolchain to cross-build an ARM Linux kernel, by changing these two lines in the top-level Makefile:
ARCH ?= $(SUBARCH) CROSS_COMPILE ?=
ARCH ?= arm CROSS_COMPILE ?= armv5tel-redhat-linux-gnueabi-
and then building your kernel as usual.