Gentoo + clang, что из этого вышло.

Давно уже заглядывался на разные компиляторы, помимо gcc. Недавно чекнул icc и понял, что он скорее мертв, чем жив. А вот clang живет себе во freebsd, на маках  и в ус не дует.

Как показали интернеты, на линуксе тоже реально его завести. Как пишут на лоре и в бенчмарках, он даже шустрее gcc:

http://www.phoronix.com/scan.php?page=article&item=gcc-6...

https://losst.ru/sravnenie-gcc-vs-clang

Почему бы не попробовать ?


Сначала настроил llvm  со всем необходимым

Gentoo + clang, что из этого вышло. Linux, Gentoo, Длиннопост

Пересобрал, это дело. Дальше прописал пару конфигов и настроил make.conf.

Gentoo + clang, что из этого вышло. Linux, Gentoo, Длиннопост
Gentoo + clang, что из этого вышло. Linux, Gentoo, Длиннопост

Как вариант, можно добавить flto в cflags(перед этим сделать $ binutils-config --linker ld.gold). После этого пересобрать мир.


emerge -e --keep-going world

Gentoo + clang, что из этого вышло. Linux, Gentoo, Длиннопост
Из 694 пакетов не собрались только эти + ядро, которое без кучи патчей шлангом не собрать.
Gentoo + clang, что из этого вышло. Linux, Gentoo, Длиннопост

К ним я подпихнул gcc И все нормально заработало. Косяк был с ncmpcpp, который почему-то не захотел вообще никак  пересобираться и ffmpeg, который позже собрал без 32 либ(вот тут оговорка, то ли из-за того, что убрал 32, то ли из-за того, что другой компилятор, но нагрузка на процессор при проигрывании уменьшилась, надо будет еще раз посмотреть результаты с gcc).


Различий в производительности я не увидел.  Но кроме одного пакета косяков пока тоже не нашел. Браузер, плеер, стим работают, ничего особо не конфликтует и ладно.


Скоро 4.0 версию шланга подвезут  в анстейбл и даже может профиль. И можно будет сказать, что за пределами gcc на линуксе есть жизнь. Кривоватая, но она есть :D

GNU/Linux

1K постов15.5K подписчиков

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.