How to install a uClibc toolchain for the arm xscale(binutils 2.16.1, gcc 4.0.2, uClibc 0.9.28)

We have succesfully installed a cross-toolchain for the ARM architecture based on uClibc. The installation procedure is explained below. It is based on the steps explained on this uClibc page.

  • Get your copy of buildroot (eg. from http://buildroot.uclibc.org/download.html)
  • Unpack the tarball on your Linux system somewhere
  • run 'unset CC'.
  • run 'make menuconfig'
  • Select the things you want to build. If you only want a
    toolchain, leave everything except the toolchain disabled.
  • save your buildroot configuration
  • run 'make'
  • you will have a working toolchain by now but... it does not contain the necessary patches and all the libraries will have been stripped.
  • download the binutils-2.16.1-diablo.patch and copy it to the 'toolchain/binutils/2.16.1/' folder so that the buildroot scripts will apply the patch. Then extract the uclibc tarball in the 'dl/' folder and edit the Rules.mak files. Look for a line containing LDFLAGS := $(LDFLAGS_NOSTRIP) -s. Here you have to disable the stripping of symbol information by removing the -s. You might also want to replace the striptool variable as is done a few liner earlier in the the Rules.mak file. Rebuild the uClibc-tarball with your changes included in it.
  • Now remove your newly build toolchain (rm -r build_arm/) and the build folder (rm -r toolchain_build_arm) and...
  • run make
  • and you're done