------- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-05-30 14:40 ------- > Aaah... You mean adding '-v' to 'xgcc', not to 'conftest' itself. My wrong.
Yup, sorry for being too vague. > Please find the output of the following command attached. The problem stems from "-lgcc --as-needed -lgcc_s_sparcv9 --no-as-needed -lc -lgcc --as-needed -lgcc_s_sparcv9 --no-as-needed" passed to the linker. There are probably undefined weak symbols in conftest that resolve to symbols in libgcc_s. Could you run readelf --syms conftest | grep UND? --as-needed/--no-as-needed has been introduced by the 2.15 linker and the compiler autodetects it. Now, because Solaris doesn't use the --eh-frame-hdr optimization, there are probably EH-related undefined weak symbols in every single executable. The end result is that libgcc_s is always "needed", so the default has effectively been switched from -static-libgcc to -shared-libgcc. That's PR bootstrap/14992. This has been correct in 4.x by: 2004-04-23 Alan Modra <[EMAIL PROTECTED]> PR bootstrap/14992 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED. * config/linux.h (USE_LD_AS_NEEDED): Define. * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define. * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define. * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define. * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define. * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define. * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define. * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define. and 3.4.x by 2004-04-18 Alan Modra <[EMAIL PROTECTED]> PR bootstrap/14992 * configure.ac: Define HAVE_LD_AS_NEEDED only for linux. * configure: Regenerate. * gcc.c (init_gcc_specs): Revert earlier change. but not in 3.3.x. -- What |Removed |Added ---------------------------------------------------------------------------- BugsThisDependsOn| |14992 Status|WAITING |NEW Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-05-30 14:40:07 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21782