From owner-freebsd-current Mon Mar 1 19:26:30 1999 Delivered-To: freebsd-current@freebsd.org Received: from pozo.com (pozo.com [216.101.162.50]) by hub.freebsd.org (Postfix) with ESMTP id 530CE14C0F for ; Mon, 1 Mar 1999 19:26:28 -0800 (PST) (envelope-from mantar@pacbell.net) Received: from dual (dual.pozo.com [216.101.162.51]) by pozo.com (8.9.3/8.9.3) with ESMTP id TAA62512; Mon, 1 Mar 1999 19:25:32 -0800 (PST) (envelope-from mantar@pacbell.net) Message-Id: <4.2.0.25.19990301191722.00a50100@216.101.162.50> X-Sender: null@216.101.162.50 X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.25 (Beta) Date: Mon, 01 Mar 1999 19:25:32 -0800 To: "Jordan K. Hubbard" , dyson@iquest.net From: Manfred Antar Subject: Re: gcc Cc: jdp@polstra.com (John Polstra), obrien@NUXI.com, current@FreeBSD.ORG In-Reply-To: <34879.920323716@zippy.cdrom.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG At 01:28 PM 3/1/99 -0800, Jordan K. Hubbard wrote: >> I can generally build a kernel with EGCS, if I change how the .text and >> .data are laid out for initialized data. It seems that the initialization >> code makes assumptions about the order or layout of the initialization >> data. Once the stuff is made to act more like the version of GCC that >> FreeBSD uses, the kernel will most often build and work. > >It really does appear to be a simple matter of first making egcs "take over" >the system compiler: > ># cd /usr/ports/lang/egcs ># make all install PREFIX=/usr ># ln -fs /usr/bin/eg++ /usr/bin/c++ ># ln -fs /usr/bin/egcc /usr/bin/cc ># cd /usr/src >remove cc from /usr/src/gnu/usr.bin/Makefile SUBDIR list >remove libstdc++ and libobjc from /usr/src/gnu/lib/Makefile SUBDIR list > >Then make the world and the kernel. I also haven't noticed that the >executables are any smaller or larger either way, and I've captured a >fair amount of "cc -v" output to ensure that egcs is, in fact, the >compiler being used. :) > >- Jordan Doesn't this just rebuild the standard gcc compiler in /usr/obj/usr/tmp/bin as part of the tools build, then use that compiler to build world. The first builds are done with egcs then it moves over to gcc to build the world. by removing the above from the Makfiles just prevents them from getting built and installed in the final build. when I do /usr/obj/usr/src/tmp/bin/cc --version it comes out gcc 2.7.2.1 Or am I missing something here ?? ===================== || mantar@pacbell.net || || Ph. (415) 681-6235 || ===================== To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message