Clang now builds world and kernel, on i386 and amd64
Bartosz Stec
admin at kkip.pl
Wed Sep 22 16:48:02 UTC 2010
On 2010-09-22 12:42, René Ladan wrote:
> 2010/9/22 Dimitry Andric<dim at 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
--
Bartosz Stec
More information about the freebsd-current
mailing list