Fw: semi HEADS UP: icc support committed

From: Alexander Leidinger <Alexander_at_Leidinger.net>
Date: Sat, 13 Mar 2004 19:11:17 +0100
Marius told be his mail was blocked by mailman, so I resend it, as it
contains some information which I forgot to tell because of some time
constraints today...

Bye,
Alexander.



Begin forwarded message:

Date: Sat, 13 Mar 2004 14:47:47 +0100
From: Marius Strobl <marius_at_alchemy.franken.de>
To: Alexander Leidinger <Alexander_at_Leidinger.net>
Cc: current_at_freebsd.org
Subject: Re: semi HEADS UP: icc support committed


On Sat, Mar 13, 2004 at 12:30:24PM +0100, Alexander Leidinger wrote:
> 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).

I.e. update to the latest port versions _after_ you updated to a
FreeBSD containing the ICC changes, because the ICC ports depend on
the __FreeBSD_version bump (to 502108), otherwise you'll have
problems compiling userland sources with ICC.

> 
> 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.

To give a bit more details, using -ipo doesn't break the kernel, but
currently gains you nothing as the additional optimizer information
that is generated when using -ipo isn't used, so it's just a waste of
CPU time and disk space.

> 
> 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).
> 
> 



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

http://www.Leidinger.net                       Alexander _at_ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
Received on Sat Mar 13 2004 - 09:11:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:47 UTC