From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15734 invoked by alias); 31 Jul 2008 11:31:50 -0000 Received: (qmail 15726 invoked by uid 22791); 31 Jul 2008 11:31:49 -0000 X-Spam-Check-By: sourceware.org Received: from col0-omc4-s8.col0.hotmail.com (HELO col0-omc4-s8.col0.hotmail.com) (65.55.34.210) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 31 Jul 2008 11:31:28 +0000 Received: from COL101-W41 ([65.55.34.201]) by col0-omc4-s8.col0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 31 Jul 2008 04:31:26 -0700 Message-ID: From: Jay To: , Subject: RE: Building gcc-4.2.4 on Solaris 9 Date: Thu, 31 Jul 2008 17:03:00 -0000 In-Reply-To: <1217501358.30475.ezmlm@gcc.gnu.org> References: <1217501358.30475.ezmlm@gcc.gnu.org> Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2008-07/txt/msg00328.txt.bz2 On Wed, Jul 30, 2008 at 7:56 AM, Jay wrote: [Jay] This definitely won't be the quickest way. [J] Quicker would be to set CC/CFLAGS and use -disable-bootstrap. [David] Before I try your suggestions, another question: It seems like [D] setting BOOT_CFLAGS to include "-m64" should do what I want. The [D] Makefile says: [D] # BOOT_CFLAGS is the value of CFLAGS to pass to the stage2, stage3 and= stage4 [D] # bootstrap compilations. [D] If I understand this correctly, this would cause gcc from the later [D] stages to be called with -m64, so that they would, when building the [D] compiler, produce 64-bit objects and be able to link against my 64-bit [D] libgmp and libmpfr. Is this right? Maybe. I don't know. There are many options.. I should clarify/correct, that another thing i would try, which might have the advantage of - working vs. not-working - leaving you with more functionality installed in the end, maybe for the = same time cost is first build a sparc(32) =3D> sparc64 cross compiler install it and then a native sparc64 =3D> sparc64 mkdir /obj/1 cd /obj/1 /src/configure -host sparc-sun-solaris2.9 -target sparc64-sun-solaris2.9 -= disable-bootstrap -disable-nls -disable-multilib -enable-languages=3Dc,c++ = -verbose=20 make=20 sudo make install=20 In truth, you can stop here. The next part doesn't buy much. (numbers as to= the perf of gcc -host sparc vs. -host sparc64? or more generally foo vs. f= oo64?)=20=20 mkdir /obj/2=20 cd /obj/2=20=20 # following line identical to above but for -host sparc vs. -host sparc64= =20=20 /src/configure -host sparc64-sun-solaris2.9 -target sparc64-sun-solaris2.= 9 -disable-bootstrap -disable-nls -disable-multilib -enable-languages=3Dc,c= ++ -verbose=20 make sudo make install Personally I am bothered by the fact that this rebuilds a lot of the same c= ode the same way multiple times. e.g. libiberty. However if you can spare the day of waiting and want it to just work and d= on't care about making it faster for future runs, this direct approach should work. I am working on a "system" (ie: a little bit of code) that minimize the reb= uilds and reconfigurations and non-use of config.cache. For example, if I am building multiple toolsets, with "some overlap" -- e.= g. same build/host, varying target, I shouldn't have to compile libiberty more than once per platform. Likewise for binutils, if I= -enable-targets=3Dall (but -enable-targets=3Dall has small problems in bfd= /opcodes, and doesn't currently work with ld, gas, and certainly gcc). I'd really like gcc, ld, as all take a -target command line parameter, and= have gcc/cc1/as run in just one process, possibly compiling multiple source files (e.g. Visual C++ cl -c 1.c 2.c 3.c vs. gcc= -c 1.c 2.c 3.c -- one process vs. seven!) But I until I have this working well... - Jay