svn commit: r221348 - head/sys/boot/i386/boot2

Roman Divacky rdivacky at freebsd.org
Tue May 3 14:16:04 UTC 2011


With the recent libobjc removal this means that we can compile
all (no exceptions) of FreeBSD/{i386,amd64} with clang.

Quite a milestone in my opinion :)

On Mon, May 02, 2011 at 09:13:08PM +0000, Dimitry Andric wrote:
> Author: dim
> Date: Mon May  2 21:13:08 2011
> New Revision: 221348
> URL: http://svn.freebsd.org/changeset/base/221348
> 
> Log:
>   Clang r130700 can now compile sys/boot/i386/boot2 with room to spare.
> 
> Modified:
>   head/sys/boot/i386/boot2/Makefile
> 
> Modified: head/sys/boot/i386/boot2/Makefile
> ==============================================================================
> --- head/sys/boot/i386/boot2/Makefile	Mon May  2 21:10:13 2011	(r221347)
> +++ head/sys/boot/i386/boot2/Makefile	Mon May  2 21:13:08 2011	(r221348)
> @@ -2,9 +2,6 @@
>  
>  .include <bsd.own.mk>
>  
> -# XXX: clang can compile the boot code just fine, but boot2 gets too big
> -CC:=${CC:C/^(.*\/)?clang$/gcc/1}
> -
>  FILES=		boot boot1 boot2
>  
>  NM?=		nm
> @@ -45,6 +42,12 @@ CFLAGS=	-Os \
>  	-Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \
>  	-Winline --param max-inline-insns-single=100
>  
> +.if ${CC:T:Mclang} == "clang"
> +CFLAGS+=	-mllvm -stack-alignment=8 -mllvm -inline-threshold=3
> +# XXX: clang integrated-as doesn't grok .codeNN directives yet
> +CFLAGS+=	${.IMPSRC:T:Mboot1.S:C/^.+$/-no-integrated-as/}
> +.endif
> +
>  LDFLAGS=-static -N --gc-sections
>  
>  # Pick up ../Makefile.inc early.


More information about the svn-src-head mailing list