Date: Wed, 22 Sep 2010 22:42:32 +0200 From: Rene Ladan <rene@freebsd.org> To: Bartosz Stec <admin@kkip.pl> Cc: current@freebsd.org Subject: Re: Clang now builds world and kernel, on i386 and amd64 Message-ID: <4C9A6A38.4080307@freebsd.org> In-Reply-To: <4C9A32B8.60204@kkip.pl> References: <4C99A53E.7060707@FreeBSD.org> <AANLkTi=_ZpYZ7XwHJOYuRMOFCGebRwD=YEYORKnMmC0s@mail.gmail.com> <4C9A32B8.60204@kkip.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On 22-09-2010 18:45, Bartosz Stec wrote: > On 2010-09-22 12:42, René Ladan wrote: >> 2010/9/22 Dimitry Andric<dim@freebsd.org>: >>> Hi, >>> >>> As of r212979, you should now be able to build world and kernel on i386 >>> and amd64 with clang, without any additional patches! >>> >>> To do so, make sure you have updated your installed world to at least >>> r212904 (which has the most recently imported clang/llvm snapshot), and >>> put the following in /etc/src.conf: >>> >>> .if !defined(CC) || ${CC} == "cc" >>> CC=clang >>> .endif >>> .if !defined(CXX) || ${CXX} == "c++" >>> CXX=clang++ >>> .endif >>> # Don't die on warnings >>> NO_WERROR= >>> WERROR= >>> >> > Just tried it. World has been builded without any problems, but stge > kernel module failed to compile: > > ===> stge (all) > clang -O2 -pipe -march=athlon-xp -fno-strict-aliasing -D_KERNEL > -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -include > /usr/obj/usr/src/sys/ATHLON9/opt_global.h -I. -I@ -I@/contrib/altq > -fno-common -I/usr/obj/usr/src/sys/ATHLON9 -mno-mmx -mno-3dnow > -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector > -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls > -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes > -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign > -fformat-extensions -c /usr/src/sys/modules/stge/../../dev/stge/if_stge.c > /usr/src/sys/modules/stge/../../dev/stge/if_stge.c:1947:5: error: > 'break' statement not in loop or switch statement > break; > ^ > /usr/src/sys/modules/stge/../../dev/stge/if_stge.c:1953:6: error: > 'break' statement not in loop or switch statement > break > Hmm, works for me: acer# ls -l /boot/kernel/if_stge.ko* -r-xr-xr-x 1 root wheel 39344 Sep 22 13:34 /boot/kernel/if_stge.ko -r-xr-xr-x 1 root wheel 218248 Sep 22 13:34 /boot/kernel/if_stge.ko.symbols acer# This is with the default GENERIC kernel. Rene -- http://www.rene-ladan.nl/ GPG fingerprint = ADBC ECCD EB5F A6B4 549F 600D 8C9E 647A E564 2BFC (subkeys.pgp.net)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C9A6A38.4080307>