Страница 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?

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