From owner-cvs-src@FreeBSD.ORG  Fri Mar 12 13:36:13 2004
Return-Path: <owner-cvs-src@FreeBSD.ORG>
Delivered-To: cvs-src@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP
	id 6713416A4CE; Fri, 12 Mar 2004 13:36:13 -0800 (PST)
Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115])
	by mx1.FreeBSD.org (Postfix) with ESMTP
	id 46FFD43D1F; Fri, 12 Mar 2004 13:36:13 -0800 (PST)
	(envelope-from trhodes@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2CLaDGe096277;
	Fri, 12 Mar 2004 13:36:13 -0800 (PST)
	(envelope-from trhodes@repoman.freebsd.org)
Received: (from trhodes@localhost)
	by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2CLaCm9096276;
	Fri, 12 Mar 2004 13:36:12 -0800 (PST)
	(envelope-from trhodes)
Message-Id: <200403122136.i2CLaCm9096276@repoman.freebsd.org>
From: Tom Rhodes <trhodes@FreeBSD.org>
Date: Fri, 12 Mar 2004 13:36:12 -0800 (PST)
To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org,
	cvs-all@FreeBSD.org
X-FreeBSD-CVS-Branch: HEAD
Subject: cvs commit: src/share/mk bsd.cpu.mk bsd.dep.mk bsd.lib.mk
 bsd.sys.mk src/sys/conf files kern.mk kern.pre.mk kmod.mk
 src/sys/dev/aic7xxx/aicasm Makefile
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 12 Mar 2004 21:36:13 -0000

trhodes     2004/03/12 13:36:12 PST

  FreeBSD src repository

  Modified files:
    share/mk             bsd.cpu.mk bsd.dep.mk bsd.lib.mk 
                         bsd.sys.mk 
    sys/conf             files kern.mk kern.pre.mk kmod.mk 
    sys/dev/aic7xxx/aicasm Makefile 
  Log:
  This are the build infrastructure changes to allow to use the
  Intel C/C++ compiler (lang/icc) to build the kernel.
  
  The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but
  doesn't abort. They also produce CPU specific code (new instructions
  of the CPU, not only CPU specific scheduling), so if you get coredumps
  with signal 4 (SIGILL, illegal instruction) you've used the wrong
  CPUTYPE.
  
  Incarnations of this patch survive gcc compiles and my make universe.
  I use it on my desktop.
  
  To use it update share/mk, add
          /usr/local/intel/compiler70/ia32/bin    (icc v7, works)
  or
          /usr/local/intel_cc_80/bin              (icc v8, doesn't work)
  to your PATH, make sure you have a new kernel compile directory
  (e.g. MYKERNEL_icc) and run
          CFLAGS="-O2 -ip" CC=icc make depend
          CFLAGS="-O2 -ip" CC=icc make
  in it.
  
  Don't compile with -ipo, the build infrastructure uses ld directly to
  link the kernel and the modules, but -ipo needs the link step to be
  performed with Intel's linker.
  
  Problems with icc v8:
   - panic: npx0 cannot be emulated on an SMP system
   - UP: first start of /bin/sh results in a FP exception
  
  Parts of this commit contains suggestions or submissions from
  Marius Strobl <marius@alchemy.franken.de>.
  
  Reviewed by:    silence on -arch
  Submitted by:   netchild
  
  Revision  Changes    Path
  1.34      +18 -2     src/share/mk/bsd.cpu.mk
  1.46      +13 -6     src/share/mk/bsd.dep.mk
  1.157     +12 -3     src/share/mk/bsd.lib.mk
  1.35      +1 -1      src/share/mk/bsd.sys.mk
  1.874     +2 -2      src/sys/conf/files
  1.41      +14 -1     src/sys/conf/kern.mk
  1.43      +31 -2     src/sys/conf/kern.pre.mk
  1.155     +14 -1     src/sys/conf/kmod.mk
  1.18      +8 -1      src/sys/dev/aic7xxx/aicasm/Makefile