While observing the output from gcc/configure on Solaris 11/SPARC, I noticed the following error:
checking assembler for GOTDATA_OP relocs... ld: fatal: unrecognized option '-v' ld: fatal: use the -z help option for usage information yes There are at least two problems here: * Sun ld doesn't support -v, but uses -V instead. * One should check ld_ver instead, as done in many other places. * Why would one check for GNU ld at all? If one can detect from the output if the linker used is buggy or not, it shouldn't matter. The only reason I could see is avoiding to rely on objdump on Solaris, but that is used in too many other places to be a real issue. The follwing patch uses the easy way out and just tests ld_ver. Tested with make configure-gcc on sparc-sun-solaris2.11 with Sun as/ld, GNU as/Sun ld, and GNU as/ld without change to gcc/auto-host.h and no linker error. Ok for mainline? Rainer 2011-04-09 Rainer Orth <r...@cebitec.uni-bielefeld.de> * configure.ac (gcc_cv_as_sparc_gotdata_op): Test ld_ver instead of $gcc_cv_ld -v. * configure: Regenerate. diff --git a/gcc/configure.ac b/gcc/configure.ac --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3344,7 +3344,7 @@ bar: ld [[%l7 + %g1]], %g2, %gdop(foo)], [if test x$gcc_cv_ld != x \ && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then - if $gcc_cv_ld -v | grep GNU >/dev/null 2>&1; then + if echo "$ld_ver" | grep GNU > /dev/null; then if test x$gcc_cv_objdump != x; then if $gcc_cv_objdump -s -j .text conftest 2> /dev/null \ | grep ' 03000004 82186004 c405c001'> /dev/null 2>&1; then -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University