Date: Mon, 10 Nov 2003 22:22:21 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: arch@freebsd.org Cc: Marius Strobl <marius@alchemy.franken.de> Subject: Patches to compile the kernel with Intel's C/C++ compiler Message-ID: <20031110222221.36a11979.Alexander@Leidinger.net>
next in thread | raw e-mail | index | archive | help
Hi, at http://www.leidinger.net/FreeBSD/current-patches/ I have some patches which allow to compile the kernel with icc (CC=icc make depend && CC=icc make). They are a joint effort of Marius Strobl and me. The resulting kernel still has some issues (no NFS, some packet loss, ... see icc.README in the above mentioned directory), but it boots and runs. A quick tour over icc.diff: - build infrastructure: just a "translate gcc switches into icc switches"-game - includes: more or less "if gcc" -> "if gcc or intel compiler" - assym.h: icc doesn't handle 0 sized arrays like gcc does, the patch was suggested by bde, a discussion of this is in the archive - aicasm: understand the icc syntax of -nostdinc - stdargh.h and _types.h: the changes are just a reminder to enable them when icc understands this particular gcc syntax, Intel is working on it The list of affected files: ---snip--- share/mk/bsd.cpu.mk \ share/mk/bsd.dep.mk \ share/mk/bsd.lib.mk \ share/mk/bsd.prog.mk \ share/mk/bsd.sys.mk \ share/mk/sys.mk \ sys/boot/i386/boot2/boot2.c \ sys/conf/defines \ sys/conf/kern.mk \ sys/conf/kern.post.mk \ sys/conf/kern.pre.mk \ sys/conf/kmod.mk \ sys/conf/files \ sys/dev/aic7xxx/aicasm/Makefile \ sys/dev/aic7xxx/aicasm/aicasm.c \ sys/dev/ichsmb/ichsmb.c \ sys/dev/iir/iir.h \ sys/dev/isp/ispvar.h \ sys/dev/mcd/mcdreg.h \ sys/dev/scd/scdreg.h \ sys/i386/acpica/acpi_wakeup.c \ sys/i386/i386/db_interface.c \ sys/i386/i386/identcpu.c \ sys/i386/include/_types.h \ sys/i386/include/atomic.h \ sys/i386/include/bus_at386.h \ sys/i386/include/cpufunc.h \ sys/i386/include/critical.h \ sys/i386/include/endian.h \ sys/i386/include/ieeefp.h \ sys/i386/include/in_cksum.h \ sys/i386/include/pcpu.h \ sys/i386/include/profile.h \ sys/i386/include/stdarg.h \ sys/i386/isa/npx.c \ sys/i386/isa/prof_machdep.c \ sys/kern/subr_prof.c \ sys/libkern/quad.h \ sys/netatm/atm_ioctl.h \ sys/sys/assym.h \ sys/sys/cdefs.h \ sys/sys/dir.h \ sys/sys/ioctl.h \ sys/sys/linker_set.h \ sys/sys/queue.h \ sys/sys/syslimits.h ---snip--- I run parts of these patches since a long time (months, parts of it over a year), no bad interactions with a gcc compiled kernel/world so far. Bye, Alexander. -- Speak softly and carry a cellular phone. 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?20031110222221.36a11979.Alexander>