Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 2004 12:30:24 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        current@freebsd.org
Subject:   semi HEADS UP: icc support committed
Message-ID:  <20040313123024.4e899294@Magellan.Leidinger.net>

next in thread | raw e-mail | index | archive | help
Hi,

Tom Rhodes committed my icc patches. This should have no impact on
compiles with gcc, but allows to compile the kernel with Intels C/C++
compiler.

To compile the kernel with icc, please make sure you have the latest
version of lang/icc7 (I committed an update to the port some minutes
ago) and add the bin directory to the PATH as requested by the
post-install message. Unfortunately compiling the kernel with lang/icc
(this is icc v8) results in a broken kernel (doesn't detect the FPU).

Additionally you need to have an updated share/mk, building and
installing the world takes care of this.

Now create a new kernel compile directory (e.g. via "config -d
../compile/MYKERNEL_icc MYKERNEL") and cd into it. Compiling with icc is
like compiling with gcc, you just have to tell the build infrastructure
to use icc as the compiler: "CC=icc make depend && CC=icc make".

You should also add the appropriate CFLAGS, either by defining it on the
command line or by modifying make.conf:
---snip---
.if ${CC} == icc
CFLAGS=-O2 -ip
COPTFLAGS=-O2 -ip
.else
CFLAGS=-O -pipe
COPTFLAGS=-O -pipe
.endif
---snip---

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.

If you use the sound modules you have to add them into the kernel, the
sound modules are known to fail to load.

You can use gcc compiled modules with an icc compiled kernel (and vice
versa).

A P4 optimized kernel seems to boot faster on a P4 but I haven't
verified this with some measurements, so this may be more of a wish than
reality. If someone wants to run some benchmarks (no, I don't know which
ones), please tell us about the results.

For those which want to install icc for the first time now: the port
tells you where to download it. If you don't find it, you haven't read
the download-instructions carefully enough. I will not send the icc
archive to you, so don't even ask for it.


Note to committers: we have a commercial icc license, so we're allowed
to distribute icc compiled binaries (but we're far away from being able
to build an entire release with icc).


Bye,
Alexander.

-- 
           I will be available to get hired in April 2004.

http://www.Leidinger.net                       Alexander @ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040313123024.4e899294>