Thanks very much to this post: http://gcc.gnu.org/ml/gcc-help/2009-02/msg00122.html my thinking that I had to build (cross compile all of) GLIBC has (I hope) been corrected. But I still have a few questions before *I* can leave the topic. 1. After compiling BinUtils for the ARM, do I need to put those programs at the beginning of my path to get gcc to build as a cross compiler? There are many examples of the following: export PATH=/usr/local/arm-linux/bin:$PATH invoked immediately after installing binutils. It seems as the configure script for gcc is capable of finding the all the utilities with their long names (arm-linux-as, arm-linux-ld, etc) quite satisfactorily. 2. Because I'm currently cross compiling non-statically linked programs with the older gcc version now, I assuming that in order to build a newer gcc cross compiler version the gcc configure script will have to be told where those GLIBC headers files are. Correct? 3. I'm also assuming that I should be using the right version of the GLIBC headers: How can I determine which version of GLIBC is running on my target so that I can do this? 4. (Arguably offtopic) Do I extract those headers out of the appropriately versioned GLIBC tarball, or will I need to invoke a makefile target on the glibc source to produce just the header files? 5. Finally, is the necessary switch on the gcc configure command that locates those GLIBC headers simply: --with-headers=... ? - Jamie