gcc-2.95 with 64 bits enable under Solaris 7
Harold Molina-Bulla
h.molina@ieee.org
Fri Aug 13 11:31:00 GMT 1999
Hi:
I try to generate a 64 bits enabled compiler for my Ultrasparc WS. (I
know, gcc-2.95 don't support Sparcv9 64 bits)
I can do that with the sparcv9-sun-solaris2.7 target. The complete
configuration command line is:
configure --without-gnu-as --without-gnu-ld --enable-multilib
--enable-shared --with-cpu=v8 sparcv9-sun-solaris2.7
It compiler with some problems:
In stage2, sometimes the compilations break, some problem with the new
cpp program (says "Bad executable format", but the program is OK (??)).
Restart the compilation and finish.
The compare stage is OK
Now, when compile the runtime libraries have more problems
The libiberty configuration for sparcv9 have errors:
The symbols sys_nerr and sys_errlist are available for 32 bits
architecture in the libc library, but not for 64 bits arch (see
/usr/include/errno.h). When configure the Makefile in sparcv9 target,
the configure program uses the "gcc" comand, and not the "gcc -m64"
command, and detect this symbols. When create the libstdc++.so, and
compile some program, this symbols not exists and the link stage fail.
The gcc can't create shared libraries (fail when try to create the
libstdc++.so and sparcv9/libstdc++.so libs), fails with and without the
-m64 option; but creates the object files OK. Solution: use the system
linker (/usr/ccs/bin/ld, with the same comand for gcc: "ld -G -h
libstdc++.so.2.10.0 -o libstdc++.so.2.10.0 `cat piclist` -lm").
Solved this problems it work (not always good, but work). In some cases
fails (have problems with the new libstdc++-2.90.6, and some java files
in the libgcj-2.95)
Good Luck for the developers.
More information about the Gcc
mailing list