From owner-freebsd-hackers Thu Apr 11 16:29:20 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA23358 for hackers-outgoing; Thu, 11 Apr 1996 16:29:20 -0700 (PDT) Received: from maui.com (root@waena.mrtc.maui.com [199.4.33.17]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id QAA23353 for ; Thu, 11 Apr 1996 16:29:18 -0700 (PDT) Received: from caliban.dihelix.com (caliban.dihelix.com [199.4.33.251]) by maui.com (8.6.10/8.6.6) with ESMTP id NAA22042; Thu, 11 Apr 1996 13:29:27 -1000 Received: (from langfod@localhost) by caliban.dihelix.com (8.7.5/8.6.9) id NAA19322; Thu, 11 Apr 1996 13:29:13 -1000 (HST) Message-Id: <199604112329.NAA19322@caliban.dihelix.com> Subject: Re: pgcc kernel compiles automated To: alk@Think.COM (Tony Kimball) Date: Thu, 11 Apr 1996 13:29:13 -1000 (HST) From: "David Langford" Cc: hackers@FreeBSD.ORG In-Reply-To: <199604111847.NAA00908@compound.think.com> from "Tony Kimball" at Apr 11, 96 01:47:59 pm From: "David Langford" X-blank-line: This space intentionaly left blank. X-Mailer: ELM [version 2.4 PL25 ME8b] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Are you actually using "-mpentium"? IF not I am not sure that using pgcc actually has an advantage :) >To eliminate those annoying manual interventions in making kernels >using pgcc, here is a trivial script. I just say 'make CC=ccc' >It assumes that the distribution cc is renamed to kcc, pgcc is >installed as gcc > ># >#!/bin/sh ># ># /usr/local/bin/ccc ># ># script to permit optimal compilation of the kernel using pgcc ># with work-arounds for bugs and other inconveniences ># > > >for i in $* >do > case $i in > ../../kern/kern_xxx.c) # pgcc bug -- use this as an > # opportunity to hook in the > # missing run-time without > # touching the makefile > if gcc $* ../../libkern/muldi3.c ; then > echo gcc -O compile done > ld -r -o kern_xxx2.o kern_xxx.o muldi3.o || exit 1 > mv -f kern_xxx2.o kern_xxx.o > exit 0; > else > echo kern_xxx gcc -O failed > exit 1 > fi > ;; > *) > ;; > esac >done > >if ! gcc -O6 -fomit-frame-pointer $* ; then # pgcc bug > rm -f cc1.core > if ! gcc -O3 -fomit-frame-pointer$* ; then # assembly syntax problem > rm -f cc1.core > if ! kcc -O $* ; then # *your* problem > echo All compilers failed. > exit 1 > else > echo kcc -O compile done. > fi > else > echo gcc -O3 compile done. > fi >else > echo gcc -O6 compile done. >fi >exit 0 > > >