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

Reply via email to