Re: Clang now builds world and kernel, on i386 and amd64

From: Rene Ladan <rene_at_freebsd.org>
Date: Wed, 22 Sep 2010 22:42:32 +0200
On 22-09-2010 18:45, Bartosz Stec wrote:
>  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_at_ -I_at_/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)
Received on Wed Sep 22 2010 - 19:11:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC