> > So, it looks like gcc is passing a -T option for a linker script that > the Solaris-provided GNU ld can't find. Run the failing link command > with -### to see what the invocation of the linker is, and then figure > out if the linker script that gcc is passing exists, and if so where. > If not, figure out why it's not included. 'elf_i386.xsc' should be the > variant for 32 bit shared libraries built with -z combreloc. What > version is this /usr/sfw/bin/gld anyway? If it's ancient it may be too > old for gcc 4.1. here's the output after adding -### to the final link command: Reading specs from /export/home/gaurav/third_party/gcc/4.1.0/ConfiguredWithGnuASGnuLD/./gcc/specs Target: i386-pc-solaris2.10 Configured with: ../gcc-4.1.0/configure --prefix=/export/home/gaurav/third_party/gcc/4.1.0/ConfiguredWithGnuASGnuLD --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/sfw/bin/gld --with-gnu-ld --enable-languages=c,c++ --enable-shared Thread model: posix gcc version 4.1.0 "/export/home/gaurav/third_party/gcc/4.1.0/ConfiguredWithGnuASGnuLD/./gcc/collect2" "-G" "-dy" "-z" "text" "-m" "elf_i386" "-Y" "P,/usr/ccs/lib:/usr/lib" "-Qy" "-o" "./libgcc_s.so.1.tmp" "/usr/lib/crti.o" "/usr/lib/values-Xa.o" "/export/home/gaurav/third_party/gcc/4.1.0/ConfiguredWithGnuASGnuLD/./gcc/crtbegin.o" "-L/export/home/gaurav/third_party/gcc/4.1.0/ConfiguredWithGnuASGnuLD/./gcc" "--soname=libgcc_s.so.1" "--version-script=libgcc/./libgcc.map" "libgcc/./_muldi3_s.o" "libgcc/./_negdi2_s.o" "libgcc/./_lshrdi3_s.o" "libgcc/./_ashldi3_s.o" "libgcc/./_ashrdi3_s.o" "libgcc/./_cmpdi2_s.o" "libgcc/./_ucmpdi2_s.o" "libgcc/./_floatdidf_s.o" "libgcc/./_floatdisf_s.o" "libgcc/./_fixunsdfsi_s.o" "libgcc/./_fixunssfsi_s.o" "libgcc/./_fixunsdfdi_s.o" "libgcc/./_fixdfdi_s.o" "libgcc/./_fixunssfdi_s.o" "libgcc/./_fixsfdi_s.o" "libgcc/./_fixxfdi_s.o" "libgcc/./_fixunsxfdi_s.o" "libgcc/./_floatdixf_s.o" "libgcc/./_fixunsxfsi_s.o" "libgcc/./_fixtfdi_s.o" "libgcc/./_fixunstfdi_s.o" "libgcc/./_floatditf_s.o" "libgcc/./_clear_cache_s.o" "libgcc/./_enable_execute_stack_s.o" "libgcc/./_trampoline_s.o" "libgcc/./__main_s.o" "libgcc/./_absvsi2_s.o" "libgcc/./_absvdi2_s.o" "libgcc/./_addvsi3_s.o" "libgcc/./_addvdi3_s.o" "libgcc/./_subvsi3_s.o" "libgcc/./_subvdi3_s.o" "libgcc/./_mulvsi3_s.o" "libgcc/./_mulvdi3_s.o" "libgcc/./_negvsi2_s.o" "libgcc/./_negvdi2_s.o" "libgcc/./_ctors_s.o" "libgcc/./_ffssi2_s.o" "libgcc/./_ffsdi2_s.o" "libgcc/./_clz_s.o" "libgcc/./_clzsi2_s.o" "libgcc/./_clzdi2_s.o" "libgcc/./_ctzsi2_s.o" "libgcc/./_ctzdi2_s.o" "libgcc/./_popcount_tab_s.o" "libgcc/./_popcountsi2_s.o" "libgcc/./_popcountdi2_s.o" "libgcc/./_paritysi2_s.o" "libgcc/./_paritydi2_s.o" "libgcc/./_powisf2_s.o" "libgcc/./_powidf2_s.o" "libgcc/./_powixf2_s.o" "libgcc/./_powitf2_s.o" "libgcc/./_mulsc3_s.o" "libgcc/./_muldc3_s.o" "libgcc/./_mulxc3_s.o" "libgcc/./_multc3_s.o" "libgcc/./_divsc3_s.o" "libgcc/./_divdc3_s.o" "libgcc/./_divxc3_s.o" "libgcc/./_divtc3_s.o" "libgcc/./_divdi3_s.o" "libgcc/./_moddi3_s.o" "libgcc/./_udivdi3_s.o" "libgcc/./_umoddi3_s.o" "libgcc/./_udiv_w_sdiv_s.o" "libgcc/./_udivmoddi4_s.o" "libgcc/./unwind-dw2_s.o" "libgcc/./unwind-dw2-fde_s.o" "libgcc/./unwind-sjlj_s.o" "libgcc/./gthr-gnat_s.o" "libgcc/./unwind-c_s.o" "-lc" "/export/home/gaurav/third_party/gcc/4.1.0/ConfiguredWithGnuASGnuLD/./gcc/crtend.o" "/usr/lib/crtn.o" mv: cannot access ./libgcc_s.so.1.tmp