Начиная с 4 ноября ветка FreeBSD-CURRENT, на базе которой формируется релиз FreeBSD 10, будет переведена (http://lists.freebsd.org/pipermail/freebsd-current/2012-Sept...) для архитектур i386 и amd64 на использование по умолчанию компилятора Clang (cc, cpp и c++ будут ссылками на clang) и набора runtime-библиотек, развиваемых проектом LLVM. Поддержка использования GCC будет оставлена в качестве опции.
Clang будет задействован как для пересборки базовой системы, так и для сборки портов. Если пересборка "мира" с использованием clang уже достаточно отлаженный и протестированный процесс, то при сборке портов всё ещё имеется ряд нерешённых проблем (http://wiki.freebsd.org/PortsAndClang). В частности, при сборке 19177 потов возникает 1141 ошибок.URL: http://lists.freebsd.org/pipermail/freebsd-current/2012-Sept...
Новость: http://www.opennet.me/opennews/art.shtml?num=34839
да как бы новость на данном сайте есть с тестами...не медленней а быстрей работает
> да как бы новость на данном сайте есть с тестами...не медленней а
> быстрей работаетРечь про результат этой работы, а он медленнее чем у GCC.
Медленнее, чем GCC 4.6+ - это да. А вот сравнения Clang 3.2 c GCC 4.2.1 (который сейчас в FreeBSD) - найти не получается.
может стоило просто обновить gcc?
> может стоило просто обновить gcc?То был хитрый план по удовлетворению Эппле!
Они бы и рады, да лицензия на GCC свежее 4.2 такого не позволяет...
> Они бы и рады, да лицензия на GCC свежее 4.2 такого не позволяет...Нет, дружище, это _они _себе не позволяют лицензию GPLv3. Очень она проприертарщикам неудобна. Ну, вот, знаться, _друзья _проприертариев и не.
> Медленнее, чем GCC 4.6+ - это да. А вот сравнения Clang 3.2
> c GCC 4.2.1 (который сейчас в FreeBSD) - найти не получается.На мой взгляд слоупочность генерируемого кода Clang'ом ещё можно потерпеть. Но вот http://math-atlas.sourceforge.net/errata.html#WhatComp - корявую работу с вещественными числами уже нет. Тем более, что это даже для базовой системы критично, например для libm.
Ну и вообще щас печальная ситуация когда в базе два кривых компилятора, один отложения мамонта, другой сырой. Поэтому я согласен с разработчиками которые предлагают сначала допилить возможность сборки всего дерева портов внешним компилятором и возможность выбора внешнего toolchain для базы, и тогда уже перейти на Clang по умолчанию.
И вообще kib правильно отметил:
>We do not want to hunt for the compiler bugs at all, goal of FreeBSD is to develop the OS and not a compiler.Поэтому вообще бы выкинуть все эти компиляторы из базы и только предоставлять bootstrap который выкачает актуальный и протестированный для текущей ветки компилятор.
>И вообще kib правильно отметил:че он првильно отметил? типа компелер может в ваукуме развиваться, будет дифолтный - будем по граблям бегать.
> Начиная с 4 ноября ветка FreeBSD-CURRENT, на базе которой формируется релиз FreeBSD
> 10, будет переведена (http://lists.freebsd.org/pipermail/freebsd-current/2012-Sept...)
> для архитектур i386 и amd64 на использование по умолчанию компилятора Clang
> (cc, cpp и c++ будут ссылками на clang) и набора runtime-библиотек,
> развиваемых проектом LLVM. Поддержка использования GCC будет оставлена в качестве опции.Серьёзно? Там по ссылке начальное письмо с предложением это сделать. А вот далее идёт обсуждение в котором множество ключевых фигур проекта высказались, что сначала надо решить ещё кучу проблем. Я пока не заметил окончательного решения этого вопроса.
> А вот далее идёт обсуждение в котором множество ключевых фигур проекта высказалисьДа, знатный bikeshed получился.
Переходить на 10-ку нужно будет осторожно и уж точно не раньше 10.1 Release.
ну тестовые тачки надо полюбас заводить
Зачем стерли мой комментарий? Я всего-навсего написал что порожденный clang код медленнее порожденного gcc, хотя и более корректно обращается с памятью.
"Поддержка использования GCC будет оставлена в качестве опции" - ядро не компилируется(правил kern.mk), мир тоже(проблема со стеком, отключал опции SSP - пойдет только для портов
ну разработчики ясно же писали, кто хочет помочь в тестировании, все приняли это как релиз.
Дальше это все происходит где CURRENT ? так там все постоянно меняется и это не стабильная ветка, думаю про это все знают, и не всех просят ставить
> Дальше это все происходит где CURRENT ? так там все постоянно меняется
> и это не стабильная ветка, думаю про это все знают, и
> не всех просят ставитьНу так с шлагом по умолчанию она рискует ещё десять лет быть нестабильной. Я лично сомневаюсь что Clang станет очень стабильным уже к следующему году.
эти проблемы связанные с переходом, а дальше глянем как будет, кроме того не отказываются от gcc он там как опция и связать можно
Тут дело такое - год назад на этом же сайте народ массово пел "не взлетит". А фряшники всё равно пилили, и ты смотри до чего уже дошло. Допилят - чуть раньше или чуть позже, 100 пудов!
Я лично предпочёл бы GCC 4.7 для мира и портов ... но что тут поделаешь, так уж пошло :(
GCC 4.7 использовать для сборки системы и программ из портов никто не запрещает. Можешь начинать прямо сейчас: http://www.freebsd.org/doc/ru/articles/custom-gcc/article.html
iZEN - собрать то я и без тебя могу, но вот когда начинаются чудеса ... остаёшся с ними 1-на-1. Ибо всё то же но собранное родным компилером ... эмм - скажем глючит _по_другому_ :-(
Дилемма(С).
Полностью не перейдут, пока в llvm вот этот баг не исправят http://llvm.org/bugs/show_bug.cgi?id=8684
Давно пора выкинуть всякий шлак из базовой системы. В портах всё есь.
> Давно пора выкинуть всякий шлак из базовой системы. В портах всё есь.GNU binutils поставил? А какой старый gplv2 или новый gplv3 "из портов"?
Какой лучше для поборника CLANG=TRUE вэя?
В базовой системе binutils-2.17.50 от 2010-10-30.
У нас в городе тоже много чего к 4 ноября приурочивают. Тенденция, однако :)