Building gcc-4.2.4 on Solaris 9
David Eisner
deisner@gmail.com
Tue Jul 29 15:04:00 GMT 2008
I'm trying to build gcc-4.2.4 on a 64-bit Solaris 9 SPARC system,
using the Sun Studio compiler (Sun C 5.8).
I'm attempting to build 64-bit binaries (bad idea?). I've built
64-bit versions of libmpfr and libgmp, and I have CC="cc
-xarch=generic64". I'm running into a problem when building the stage
2 or stage 3 compiler:
/export/data/software/cradle/build/gcc/objdir/./prev-gcc/xgcc
-B/export/data/software/cradle/build/gcc/objdir/./prev-gcc/
-B/data/software/devtools/gcc-4.2.4-sparc-sun-solaris2.9/sparc-sun-solaris2.9/bin/
-g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Wold-style-definition
-Wmissing-format-attribute -DHAVE_CONFIG_H -o f951 \
fortran/arith.o fortran/array.o fortran/bbt.o fortran/check.o
fortran/data.o fortran/decl.o fortran/dump-parse-tree.o
fortran/error.o fortran/expr.o fortran/interface.o fortran/intrinsic.o
fortran/io.o fortran/iresolve.o fortran/match.o fortran/matchexp.o
fortran/misc.o fortran/module.o fortran/openmp.o fortran/options.o
fortran/parse.o fortran/primary.o fortran/resolve.o fortran/scanner.o
fortran/simplify.o fortran/st.o fortran/symbol.o fortran/convert.o
fortran/dependency.o fortran/f95-lang.o fortran/trans.o
fortran/trans-array.o fortran/trans-common.o fortran/trans-const.o
fortran/trans-decl.o fortran/trans-expr.o fortran/trans-intrinsic.o
fortran/trans-io.o fortran/trans-openmp.o fortran/trans-stmt.o
fortran/trans-types.o main.o libbackend.a ../libcpp/libcpp.a
../libdecnumber/libdecnumber.a
-L/data/software/devtools/gmp-4.2.1-sparc-sun-solaris2.9/lib
-L/data/software/devtools/mpfr-2.3.0-sparc-sun-solaris2.9/lib -lmpfr
-lgmp ../libcpp/libcpp.a ./../intl/libintl.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a
ld: fatal: file
/data/software/devtools/mpfr-2.3.0-sparc-sun-solaris2.9/lib/libmpfr.so:
wrong ELF class: ELFCLASS64
ld: fatal: file
/data/software/devtools/gmp-4.2.1-sparc-sun-solaris2.9/lib/libgmp.so:
wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to f951
collect2: ld returned 1 exit status
make[3]: *** [f951] Error 1
The problem is that fortran .o files are 32-bit, not 64-bit:
cannes [objdir]$ file gcc/fortran/arith.o
gcc/fortran/arith.o: ELF 32-bit MSB relocatable SPARC32PLUS Version
1, V8+ Required
What's the proper way to tell the later stage compilers to produce
64-bit binaries?
Thanks.
-David
--
David Eisner http://cradle.brokenglass.com
More information about the Gcc-help
mailing list