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>