Jonathan Wakely <jwakely.gcc@xxxxxxxxx> 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 > > where the 'stage' dir contains gmp and mpfr installations, built with > --disable-shared. The --with-as path is a symlink to the real binutils > dir, I realise I don't want to use that /var/tmp path in a real build, > but I'm just trying to get my build script working for now. > 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. 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