On Fri, Mar 24, 2006 at 12:01:26PM +0100, [EMAIL PROTECTED] wrote: > "ld: *_s.o uses VFP instructions, whereas ./libgcc_s.so.1.tmp does not" > > (Complete log in attachment). > > I found this message quite strange, as libgcc_s.so.1.tmp was the > output of the linker, so it should have been created with the same > modes as the objects it should contain.
It means that some earlier file in the link set the mode of libgcc_s.so.1, and that file did not use VFP. You might want to check the other files included in the linker invocation. > Moreover, --msoft-float and --mfpu=vfp were explicitly passed to > xgcc. However, looking at the log I see that collect2 does not get > --msoft-float and --mfpu options. Could this be a problem? I tried > to modify build/gcc/specs, to no avail... No, this is not an issue. > Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr > --enable-shared --with-system-zlib --libexecdir=/usr/lib > --without-included-gettext --enable-threads=posix --enable-nls > --with-gxx-include-dir=/usr/arm-vfp-linux-gnu/include/c++/4.0.3 > --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu > --enable-libstdcxx-debug --with-float=soft --with-fpu=vfp > --enable-checking=release --program-prefix=arm-vfp-linux-gnu- > --includedir=/usr/arm-vfp-linux-gnu/include --build=i486-linux-gnu > --host=i486-linux-gnu --target=arm-vfp-linux-gnu > /usr/src/Debian/gcc-4.0-4.0.3-1/build/gcc/collect2 --eh-frame-hdr -shared > -dynamic-linker /lib/ld-linux.so.2 -X -m armelf_linux -p -o > ./libgcc_s.so.1.tmp /usr/arm-vfp-linux-gnu/lib/crti.o > /usr/src/Debian/gcc-4.0-4.0.3-1/build/gcc/crtbeginS.o > -L/usr/src/Debian/gcc-4.0-4.0.3-1/build/gcc -L/usr/arm-vfp-linux-gnu/bin > -L/usr/arm-vfp-linux-gnu/lib -L/usr/lib/gcc/../../arm-vfp-linux-gnu/lib > --soname=libgcc_s.so.1 --version-script=libgcc/./libgcc.map -O1 > libgcc/./_udivsi3_s.o libgcc/./_divsi3_s.o libgcc/./_umodsi3_s.o > libgcc/./_modsi3_s.o libgcc/./_dvmd_lnx_s.o 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-glibc_s.o libgcc/./unwind-sjlj_s.o > libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc > /usr/src/Debian/gcc-4.0-4.0.3-1/build/gcc/crtendS.o > /usr/arm-vfp-linux-gnu/lib/crtn.o > /usr/arm-vfp-linux-gnu/bin/ld: ERROR: > /usr/src/Debian/gcc-4.0-4.0.3-1/build/gcc/crtbeginS.o uses VFP instructions, > whereas ./libgcc_s.so.1.tmp does not Looks like you're using an installed crti.o. I bet that's not built with VFP. You might want to look into e.g. crosstool; it knows how to bootstrap a toolchain with particular options. -- Daniel Jacobowitz CodeSourcery