I wrote previously about needing to hack the clang sources to build it with gcc in a non-standard location. That patch is no longer necessary, to enable it to find the GCC headers and runtime files I now configure it as:
GCC_DIR=/your/gcc/prefix
GCC_VER=4.4.3
GCC_ARCH=x86_64-unknown-linux-gnu
../llvm/configure --prefix=$PREFIX --enable-targets=host \
--enable-optimized --disable-jit \
LDFLAGS=-Wl,-R,$GCC_DIR/lib64 \
--with-cxx-include-root=$GCC_DIR/include/c++/$GCC_VER \
--with-cxx-include-arch=$GCC_ARCH
Due to some GNUisms in older versions of glibc (e.g 2.5 in my case) it's necessary to build LLVM with
make CFLAGS=-std=gnu89