As it turns out, you need to do this:
cp /usr/bin/ld /usr/libexec/gcc/i386-redhat-linux/4.1.2/real-ld
This is because gcc does not look in /usr/bin for ld which results in the following error when building:
collect2: cannot find ld
You can see where gcc looks for other programs with this command:
gcc -print-search-dirs