Страница 1 из 1

Сборка ядра FreeBSD компилятором LLVM

Добавлено: 2009-02-27 12:52:20
ev
сборка ядра FreeBSD компилятором clang/llvm, компилирующего Си/С++ программы в промежуточный байткод RISC подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации).
http://www.opennet.ru/opennews/art.shtml?num=20491

т.е. теперь фряху можно грузить на смартфонах?

Re: Сборка ядра FreeBSD компилятором LLVM

Добавлено: 2009-02-27 13:33:33
hizel
на симбиан есть llvm? :shock:

Re: Сборка ядра FreeBSD компилятором LLVM

Добавлено: 2009-03-09 12:00:11
terminus
БСДшники потихоньку движутся от GCC к clang/llvm.
Вот уже LINT ядро им можно собрать (мир пока нельзя).

http://lists.freebsd.org/pipermail/free ... 04193.html
http://wiki.freebsd.org/BuildingFreeBSDWithClang

Результат сравнения скорости работы ядра собраного GCC и clang/llvm.
http://www.vlakno.cz/~pwo/lm.html

Re: Сборка ядра FreeBSD компилятором LLVM

Добавлено: 2009-03-09 14:24:52
zingel
не впечатлило...

Re: Сборка ядра FreeBSD компилятором LLVM

Добавлено: 2009-03-09 15:18:00
Гость
можно для ламеров, llvm с ccache дружит? если я пихну симлинк на ccc в /usr/local/libexec/ccache/ побочных эффектов не будет?

Re: Сборка ядра FreeBSD компилятором LLVM

Добавлено: 2009-03-19 1:15:30
Гость
да, с ccache дружит. Собрал мир и ядро с помощью clang. Мир стал работать на порядок шустрее, а ядро похудело.

Из локальных хаков в дополнение к llvm-bmake использую

Код: Выделить всё

Index: lib/libthr/Makefile
===================================================================
--- lib/libthr/Makefile	(revision 189969)
+++ lib/libthr/Makefile	(working copy)
@@ -13,6 +13,10 @@
 .include <bsd.own.mk>
 MK_SSP=	no
 
+.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc"
+CC=	gcc
+.endif
+
 LIB=thr
 SHLIB_MAJOR= 3
 WARNS?=	3
Index: sys/boot/zfs/Makefile
===================================================================
--- sys/boot/zfs/Makefile	(revision 189969)
+++ sys/boot/zfs/Makefile	(working copy)
@@ -3,6 +3,10 @@
 LIB=		zfsboot
 INTERNALLIB=
 
+.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc"
+CC=	gcc
+.endif
+
 SRCS+=		zfs.c
 
 CFLAGS+=	-I${.CURDIR}/../common -I${.CURDIR}/../.. -I.
Index: sys/conf/kern.post.mk
===================================================================
--- sys/conf/kern.post.mk	(revision 189969)
+++ sys/conf/kern.post.mk	(working copy)
@@ -153,9 +153,9 @@
 .depend: .PRECIOUS ${SRCS}
 	rm -f .newdep
 	${MAKE} -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | \
-	    MKDEP_CPP="${CC} -E" CC="${CC}" xargs mkdep -a -f .newdep ${CFLAGS}
+	    MKDEP_CPP="gcc -E" CC="${CC}" xargs mkdep -a -f .newdep ${CFLAGS}
 	${MAKE} -V SFILES | \
-	    MKDEP_CPP="${CC} -E" xargs mkdep -a -f .newdep ${ASM_CFLAGS}
+	    MKDEP_CPP="gcc -E" xargs mkdep -a -f .newdep ${ASM_CFLAGS}
 	rm -f .depend
 	mv .newdep .depend