From owner-freebsd-arch@FreeBSD.ORG Mon Nov 10 13:22:20 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9328E16A4CE for ; Mon, 10 Nov 2003 13:22:20 -0800 (PST) Received: from mailout08.sul.t-online.com (mailout08.sul.t-online.com [194.25.134.20]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C5FE43FBD for ; Mon, 10 Nov 2003 13:22:19 -0800 (PST) (envelope-from Alexander@Leidinger.net) Received: from fwd05.aul.t-online.de by mailout08.sul.t-online.com with smtp id 1AJJUI-0008UU-00; Mon, 10 Nov 2003 22:22:18 +0100 Received: from Andro-Beta.Leidinger.net (VgDvD-ZlQepbuGXYa3iJuWalfTtbchQGmAMnuMlvJ3SEWT31Hw4Ycq@[80.131.123.151]) by fmrl05.sul.t-online.com with esmtp id 1AJJU5-15tyls0; Mon, 10 Nov 2003 22:22:05 +0100 Received: from Magelan.Leidinger.net (Magellan [192.168.1.1]) hAALM3sm093932; Mon, 10 Nov 2003 22:22:03 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from Magelan.Leidinger.net (netchild@localhost [127.0.0.1]) hAALMLbV078568; Mon, 10 Nov 2003 22:22:21 +0100 (CET) (envelope-from Alexander@Leidinger.net) Date: Mon, 10 Nov 2003 22:22:21 +0100 From: Alexander Leidinger To: arch@freebsd.org Message-Id: <20031110222221.36a11979.Alexander@Leidinger.net> X-Mailer: Sylpheed version 0.9.6claws (GTK+ 1.2.10; i386-portbld-freebsd5.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Seen: false X-ID: VgDvD-ZlQepbuGXYa3iJuWalfTtbchQGmAMnuMlvJ3SEWT31Hw4Ycq@t-dialin.net cc: Marius Strobl Subject: Patches to compile the kernel with Intel's C/C++ compiler X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2003 21:22:20 -0000 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