2009/4/22 Ian Lance Taylor: > Jonathan Wakely writes: > >> I tried to build the 4.4.0-RC-20090414 on Solaris x86, configured with >> >> /var/tmp/build-gcc/gcc-4.4.0-RC-20090414/configure >> --prefix=/opt/gcc/32-bit/4.4.0-RC-20090414 --enable-languages=c,c++ >> --with-gnu-as --with-as=/var/tmp/build-gcc/binutils_2.18/bin/as >> --with-ld=/usr/ccs/bin/ld --with-gmp=/var/tmp/build-gcc/stage >> --with-mpfr=/var/tmp/build-gcc/stage --build=i686-pc-solaris2.10 >> --with-arch-32=pentium4 --with-system-zlib --enable-shared >> --enable-threads=posix --enable-nls --enable-libstdcxx-debug >> ... >> ld: fatal: symbol `__i686.get_pc_thunk.bx' is multiply-defined: >> (file /var/tmp/build-gcc/gcc/./gcc/crtbegin.o type=FUNC; file >> _enable_execute_stack_s.o type=FUNC); > > This means that the configure script thought that hidden linkonce > symbols were supported, but for some reason they are not working. This > could happen if the configure script used one linker and the build used > another, but that shouldn't happen with the above configure command. Thanks for the pointer, Ian. The binutils_2.18/bin dir is also in the PATH, so configure might be using the ld found in there, while the build is using the one specified with --with-ld ... I'll investigate further. Thanks, Jonathan I > guess look at config.log to see the test used to set > USE_HIDDEN_LINKONCE, and compare it to the object files which are > failing to link. > > Ian >