How to use a combined gcc/binutils/newlibc source tree to create a cross compiler: Download into a empty directory (${HOME}/tarballs) binutils - http://gnuftp.uib.no/binutils gcc - http://gnuftp.uib.no/gcc/ gmp (dependency for gcc) - http://gnuftp.uib.no/gmp/ mpfr (dependency for gcc) - http://gnuftp.uib.no/mpfr/ mpc (dependency for gcc) - http://gnuftp.uib.no/mpc/ isl (OPTIONAL dependency for gcc) http://isl.gforge.inria.fr/ Create yet another directory, enter it and unpack $ mkdir ${HOME}/src; cd ${HOME}/src $ for i in ${HOME}/tarballs/*; do tar xf $i; done Create combined source tree cd gcc-* ln -s ../gmp-* gmp ln -s ../mpfr-* mpfr ln -s ../mpc-* mpc ln -s ../isl-* isl $ for i in bfd binutils gas gold ld opcodes; do ln -s ../binutils-*/$i; done Build the compiler mkdir ${HOME}/obj; cd ${HOME}/obj ${HOME}/src/gcc-*/configure --prefix=/tools --libexecdir=/tools/lib --enable-languages=c,c++ --disable-libstdcxx-pch --disable-multilib --enable-checking=release --with-tune=native --with-arch=native (optional: fix compiler flags) sed -i 's/\-g /-pipe /' Makefile sed -i '/^CFLAGS/s/$/ -march=native -mtune=native/' Makefile sed -i '/^CXXFLAGS/s/$/ -march=native -mtune=native/' Makefile Compile and install into staging area make -j$(nproc) tooldir=/tools mkdir -p dest/tools/lib ln -sf lib dest/tools/lib64 make -j2 install-strip DESTDIR=$(pwd)/dest tooldir=/tools Do some trimming rm -rf dest/*/share find dest -name '*.la' -delete find dest -name "*.a" -exec ./dest/*/bin/strip -g "{}" \;