I try to build gcc trunk on sparc/sparc64 linux. The configure was done like this:
../gcc/configure --enable-__cxa_atexit --enable-shared --with-cpu=v7 --enable-languages=c,ada,c++,fortran,java,objc,obj-c++,treelang when I enter the libgomp subdir, I see this: make[2]: Entering directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/libgomp' make all-recursive make[3]: Entering directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/libgomp' Making all in testsuite make[4]: Entering directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/libgomp/testsuite' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/libgomp/testsuite' make[4]: Entering directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/libgomp' if /bin/sh ./libtool --mode=compile /usr/local/src/trunk/objdir/./gcc/xgcc -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem /usr/local/sparc64-unknown-linux-gnu/include -isystem /usr/local/sparc64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc/libgomp -I. -I../../../gcc/libgomp/config/linux/sparc -I../../../gcc/libgomp/config/linux -I../../../gcc/libgomp/config/posix -I../../../gcc/libgomp -Wall -Werror -ftls-model=initial-exec -mcpu=v9 -Wc,-pthread -O2 -g -O2 -MT alloc.lo -MD -MP -MF ".deps/alloc.Tpo" -c -o alloc.lo ../../../gcc/libgomp/alloc.c; \ then mv -f ".deps/alloc.Tpo" ".deps/alloc.Plo"; else rm -f ".deps/alloc.Tpo"; exit 1; fi mkdir .libs /usr/local/src/trunk/objdir/./gcc/xgcc -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem /usr/local/sparc64-unknown-linux-gnu/include -isystem /usr/local/sparc64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc/libgomp -I. -I../../../gcc/libgomp/config/linux/sparc -I../../../gcc/libgomp/config/linux -I../../../gcc/libgomp/config/posix -I../../../gcc/libgomp -Wall -Werror -ftls-model=initial-exec -pthread -mcpu=v9 -O2 -g -O2 -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c ../../../gcc/libgomp/alloc.c -fPIC -DPIC -o .libs/alloc.o Now, from where does the -mcpu=v9 come? And, why is not the toplevel configure option --with-cpu=v7 being honoured in libgomp? Or, why don't I get this right you say? The 32 bit variant of libgomp gets done, but, the 64 bit variant gets this... Making all in testsuite make[8]: Entering directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/64/libgomp/testsuite' make[8]: Nothing to be done for `all'. make[8]: Leaving directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-gnu/64/libgomp/testsuite' make[8]: Entering directory `/usr/local/src/trunk/objdir/sparc64-unknown-linux-\gnu/64/libgomp' if /bin/sh ./libtool --mode=compile /usr/local/src/trunk/objdir/./gcc/xgcc -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem /usr/local/sparc64-unknown-linux-gnu/include -isystem /usr/local/sparc64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../../gcc/libgomp -I. -I../../../../gcc/libgomp/config/linux/sparc -I../../../../gcc/libgomp/config/linux -I../../../../gcc/libgomp/config/posix -I../../../../gcc/libgomp -Wall -Werror -ftls-model=initial-exec -Wc,-pthread -O2 -g -O2 -m64 -MT alloc.lo -MD -MP -MF ".deps/alloc.Tpo" -c -o alloc.lo ../../../../gcc/libgomp/alloc.c; \ then mv -f ".deps/alloc.Tpo" ".deps/alloc.Plo"; else rm -f ".deps/alloc.Tpo"; e\ xit 1; fi mkdir .libs /usr/local/src/trunk/objdir/./gcc/xgcc -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem /usr/local/sparc64-unknown-linux-gnu/include -isystem /usr/local/sparc64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../../gcc/libgomp -I. -I../../../../gcc/libgomp/config/linux/sparc -I../../../../gcc/libgomp/config/linux -I../../../../gcc/libgomp/config/posix -I../../../../gcc/libgomp -Wall -Werror -pthread -ftls-model=initial-exec -O2 -g -O2 -m64 -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c ../../../../gcc/libgomp/alloc.c -fPIC -DPIC -o .libs/alloc.o That's fine. However, further down I get this error: /bin/sh ./libtool --mode=link /usr/local/src/trunk/objdir/./gcc/xgcc -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem /usr/local/sparc64-unknown-linux-gnu/include -isystem /usr/local/sparc64-unknown-linux-gnu/sys-include -Wall -Werror -ftls-model=initial-exec -Wc,-pthread -O2 -g -O2 -m64 -Wl,-z,nodlopen -Wl,-O1 -m64 -o libgomp.la -rpath /usr/local/lib/../lib64 -version-info 1:0:0 -Wl,--version-script,../../../../gcc/libgomp/libgomp.map alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo loop.lo ordered.lo parallel.lo sections.lo single.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo time.lo fortran.lo -lrt /usr/local/src/trunk/objdir/./gcc/xgcc -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/sparc64-unknown-linux-gnu/bin/ -B/usr/local/sparc64-unknown-linux-gnu/lib/ -isystem /usr/local/sparc64-unknown-linux-gnu/include -isystem /usr/local/sparc64-unknown-linux-gnu/sys-include -m64 -shared .libs/alloc.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o .libs/loop.o .libs/ordered.o .libs/parallel.o .libs/sections.o .libs/single.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/time.o .libs/fortran.o -lrt -pthread -Wl,-z -Wl,nodlopen -Wl,-O1 -Wl,--version-script -Wl,../../../../gcc/libgomp/libgomp.map -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0 /usr/bin/ld: .libs/barrier.o: check_relocs: unhandled reloc type 0 .libs/barrier.o: could not read symbols: File format not recognized collect2: ld returned 1 exit status I will restart a build and see if I get to the same error, but, if you have any -- Cheers, /ChJ