From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15473 invoked by alias); 1 Jul 2002 19:46:41 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 15387 invoked from network); 1 Jul 2002 19:46:38 -0000 Received: from unknown (HELO slartibartfast.mex) (216.27.160.200) by sources.redhat.com with SMTP; 1 Jul 2002 19:46:38 -0000 Received: from slartibartfast.mex (epotter@localhost [127.0.0.1]) by slartibartfast.mex (8.12.4/8.12.4) with ESMTP id g61JeET6027746; Mon, 1 Jul 2002 15:40:14 -0400 Received: from localhost (epotter@localhost) by slartibartfast.mex (8.12.4/8.12.3/Submit) with ESMTP id g61JeEXF027743; Mon, 1 Jul 2002 15:40:14 -0400 X-Authentication-Warning: slartibartfast.mex: epotter owned process doing -bs Date: Mon, 01 Jul 2002 12:46:00 -0000 From: Elliott Potter X-X-Sender: epotter@slartibartfast.mex To: Rupert Wood cc: gcc-help@gcc.gnu.org Subject: RE: 64-bit gcc3.1 on Solaris? In-Reply-To: <616BE6A276E3714788D2AC35C40CD18D5EC4CD@whale.softwire.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-07/txt/msg00010.txt.bz2 On Mon, 1 Jul 2002, Rupert Wood wrote: > Elliott Potter wrote: > > > Has anyone tried to compile gcc 3.1 as 64 bit on Solaris 2.8 or 2.9? > > I got it compiled as 32 bit no problem (twice actually) and it does > > appear to compile working 64 bit programs, but just for the heck of > > it I thought I'd try to compile the compiler with the -m64 option. > > I don't have 2.9 to play with but the following works for me on 2.8: > > CC="gcc -m64" ~/cvs/gcc31/configure --enable-threads=posix \ > --disable-checking --disable-nls --with-cpu=ultrasparc \ > sparcv9-sun-solaris2.8 \ > && gmake -j4 bootstrap CC="gcc -m64" The configure line I used to make the 32 bit version was: CC="gcc -mcpu=ultrasparc" ../configure --prefix=/usr/local/gcc-3.1-1 \ --enable-threads=posix --with-cpu=ultrasparc \ --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld \ --disable-nls make CFLAGS="-mcpu=ultrasparc" BOOT_CFLAGS="-mcpu=ultrasparc" \ bootstrap MAKE="make -j3" ...which worked like a charm. For the 64-bit version I used the same lines except added "-m64" to the CC/*CFLAGS arguments. That works just fine until later stages, where it fails at the same place regardless of different combinations of CFLAGS and such that I've tried: stage1/xgcc -Bstage1/ -B/usr/local/gcc-3.1-2/sparc-sun-solaris2.9/bin/ -DIN_GCC -O3 -mcpu=ultrasparc -m64 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -o gengenrtl \ gengenrtl.o ../libiberty/libiberty.a ld: fatal: file /usr/lib/sparcv9/values-Xa.o: wrong ELF class: ELFCLASS64 ld: fatal: File processing errors. No output written to gengenrtl collect2: ld returned 1 exit status make[2]: *** [gengenrtl] Error 1 make[2]: Leaving directory `/usr/local/gcc-3.1-2-build/objdir/gcc' make[1]: *** [stage2_build] Error 2 make[1]: Leaving directory `/usr/local/gcc-3.1-2-build/objdir/gcc' make: *** [bootstrap] Error 2 This is where I'm stumped, because everything in libiberty.a is 64 bits, as is xgcc and gengenrtl. > using Sun's as and ld and CVS GCC3.1.1 sources from the middle of last > week (release 3.1 ought to work too). gmake is GNU make - haven't tried > Sun's make. This build didn't include Ada; I've got Sun ld vs Ada symbol > problems and GNU ld 64-bit vs patched libdl.so problems but I haven't > yet found time to work out what bugs I need to report to whom. I used Sun's as and ld, and gmake that came with Solaris 8. I don't do anything with Ada so I didn't try to build it. Anyway the 32-bit build works perfectly as long as I don't try to compile Mozilla so I should probably leave it, but I've never had a compiler that was actually 64 bits so I thought I'd give it a try. Other than that I have no good reason to make gcc 64 bit. (That's not to say I don't want to try still :) Thanks, -- Elliott