On my system (though I doubt it's system specific) the ORIGINAL_LD_FOR_TARGET variable gets set incorrectly when there's a program-prefix and program-suffix. Instead of getting the linker to be used for compiling, it gets set as if `ld` were going to be compiled, i.e. ${prefix}/${program-prefix}ld${program-suffix}.
System: Solaris 10 Generic_118833-17 Configuration: ../gcc-4.1.1/configure \ --prefix=/pkgs/gcc/gcc-4.1.1 \ --disable-shared \ --with-gnu-as \ --with-gnu-ld \ --enable-__cxa_atexit \ --enable-checking=yes \ --enable-languages=c,c++,objc \ --program-prefix=sparc-sun-solaris2.10- \ --program-suffix=-4.1.1 -- Summary: `make` fails because of bad ORIGINAL_LD_FOR_TARGET Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: phreelance_spam at yahoo dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28758