From owner-freebsd-current Mon Mar 1 13:29: 7 1999 Delivered-To: freebsd-current@freebsd.org Received: from zippy.cdrom.com (zippy.cdrom.com [204.216.27.228]) by hub.freebsd.org (Postfix) with ESMTP id 8AE27154B1 for ; Mon, 1 Mar 1999 13:28:52 -0800 (PST) (envelope-from jkh@zippy.cdrom.com) Received: from zippy.cdrom.com (localhost [127.0.0.1]) by zippy.cdrom.com (8.9.3/8.9.3) with ESMTP id NAA34883; Mon, 1 Mar 1999 13:28:36 -0800 (PST) (envelope-from jkh@zippy.cdrom.com) To: dyson@iquest.net Cc: jdp@polstra.com (John Polstra), obrien@NUXI.com, current@FreeBSD.ORG Subject: Re: gcc In-reply-to: Your message of "Mon, 01 Mar 1999 15:46:25 EST." <199903012046.PAA24587@y.dyson.net> Date: Mon, 01 Mar 1999 13:28:36 -0800 Message-ID: <34879.920323716@zippy.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > 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 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message