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