|
|
Часть нити удалена модератором |
3.13, Владимир (??), 06:50, 03/09/2016 [ответить]
| –1 +/– |
LLVMLinux - пока только с некоторым набором патчей (три десятка примерно).
| |
|
2.10, Аноним (-), 04:13, 03/09/2016 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Clang может собрать ядро linux?
Не так. Правильный вопрос: может ли ядро Линукс быть очищено от gcc-зависимостей и прочего мусора, чтобы его можно было бы собирать правильными компиляторами с внятной системой команд и внятными сообщениями об ошибках, не говоря о прочих преимуществах clang.
Да, clang может собирать ядра ОСей общего назначения. Тому подтверждение давным давно собираемый clang-ом мейнстрим FreeBSD.
Это не проблема сообщества LLVM разбираться в этой куче бардака под названием "код ядра Linux".
Это проблема сообщества Linux привести в порядок кодовую базу своего ядра.
| |
|
3.11, Аноним (-), 04:35, 03/09/2016 [^] [^^] [^^^] [ответить]
| +14 +/– |
Иными словами: пока нет, т.к. в коде Linux есть специфические для GCC вещи.
// другой Аноним
| |
3.16, Аноним (-), 10:09, 03/09/2016 [^] [^^] [^^^] [ответить]
| –6 +/– |
Это не проблема сообщества Linux разбираться с кривыми недокомпиляторами.
| |
|
4.22, Аноним (-), 11:29, 03/09/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Это не проблема сообщества Linux разбираться с кривыми недокомпиляторами.
Зеркальная реплика по форме "сам дурак" - это похоже все, на что вы надеетесь, чтобы хоть как-то попытаться унять вашу боль. Других аргументов у вас нет.
| |
|
5.28, Аноним (-), 13:06, 03/09/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Боль тут демонстрируют как раз поклонники шланга.
Ответьте пожалуйста на простой вопрос: какую пользу получат разработчики ядра от возни с переписыванием фрагментов кода в которых используются gcc-специфичные расширения ?
| |
|
6.32, iZEN (ok), 14:49, 03/09/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Боль тут демонстрируют как раз поклонники шланга.
> Ответьте пожалуйста на простой вопрос: какую пользу получат разработчики ядра от возни
> с переписыванием фрагментов кода в которых используются gcc-специфичные расширения ?
Польза — от возможности подтвердить правильность написанного кода больше чем одним компилятором. Возможность в дальнейшем выяснить, где слабое звено (код, компилятор1, компилятор2,.., компиляторN), если что-то перестало работать, и исправить его.
| |
|
7.35, Аноним (-), 15:32, 03/09/2016 [^] [^^] [^^^] [ответить] | –4 +/– | Ядро Linux - никогда и не декларировало совместимость с стандартами си Оно слиш... большой текст свёрнут, показать | |
|
6.33, Аноним (-), 15:04, 03/09/2016 [^] [^^] [^^^] [ответить] | –2 +/– | А кто сказал, что они разработчики ядра Linux должны получить от этого пользу ... большой текст свёрнут, показать | |
|
7.36, Аноним (-), 15:33, 03/09/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А кто сказал, что они (разработчики ядра Linux) должны получить от этого пользу.
Тогда зачем им этим заниматься. Они как бы шлангофилам ничем не обязаны.
> Вот во FreeBSD проблем с переходом на другой компилятор особо не было и код переписывать не пришлось.
Никому не интересная возня в песочнице.
> Другой вопрос, какую пользу они (разработчики ядра Linux) получили от того, что привязали ядро к конкретному компилятору, наплевав на стандарты языка.
В стандартах языка хотя бы asm() есть ?
> Просто кроме поклонников есть ещё и специалисты, которые умеют пользоваться без поклонения. Видимо вы об этом не знали.
Как мило. Особенно после всех вами написанных бредней.
| |
|
8.39, Аноним (-), 15:41, 03/09/2016 [^] [^^] [^^^] [ответить] | +1 +/– | В стандартах языка Си asm и функции с переменным числом аргументов присутствую... текст свёрнут, показать | |
|
9.45, Аноним (-), 16:20, 03/09/2016 [^] [^^] [^^^] [ответить] | –3 +/– | И что, в стандарте описана передача значений в регистрах в из ассебмлерного кода... текст свёрнут, показать | |
|
10.76, Аноним (-), 14:55, 04/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Это описано в спецификации ABI, которую обязаны поддерживать все компиляторы, ко... текст свёрнут, показать | |
|
9.88, Аноним (-), 01:45, 06/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | А реально такой код может собрать только gcc и в меньшей степени шланг Про всяк... текст свёрнут, показать | |
|
|
7.37, Аноним (-), 15:34, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> А кто сказал, что они (разработчики ядра Linux) должны получить от этого
> пользу. Было сказано, что это их проблемы.
У них как раз нет проблем. Они этим не страдают, они этим наслаждаются, используя полезные фичи gcc с пылу с жару. Без них они все-равно буксовали бы по черному. Им и асм местами нужен, и функции с переменным числом параметров и прочие явно нестандартные вещи.
А фрибсд как раз таки один большой кусок проблем. Как система вообще.
| |
|
|
9.57, Аноним (-), 20:44, 03/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | - Нет нормального пакетника Ну как, пакетник технически уже есть Но пакетами п... большой текст свёрнут, показать | |
|
10.61, й (?), 22:03, 03/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | вот тут не соглашусь jail ы вполне себе аналог openvz но требуют больше ручной... текст свёрнут, показать | |
|
11.70, Аноним (-), 02:01, 04/09/2016 [^] [^^] [^^^] [ответить] | +/– | Только openvz был пригоден для продакшна на продажу 10 лет назад И это был шаг ... большой текст свёрнут, показать | |
|
12.73, й (?), 12:48, 04/09/2016 [^] [^^] [^^^] [ответить] | –2 +/– | да какбе десять лет назад уже были и jails, и solaris zones ага а вот внутри и... текст свёрнут, показать | |
|
13.89, Аноним (-), 01:57, 06/09/2016 [^] [^^] [^^^] [ответить] | +/– | Только jails тогда IIRC совсем не умели лимиты а-ля OVZ и виртуалихацию сети А ... большой текст свёрнут, показать | |
|
14.91, iZEN (ok), 21:57, 06/09/2016 [^] [^^] [^^^] [ответить] | +/– | Jails лимитились как и юзеры - через общий login conf, если не ошибаюсь OVZ тог... текст свёрнут, показать | |
14.99, й (?), 03:18, 08/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | да вы и про heroku, небось, ещё не слышали, хотя уже шесть лет прошло ... текст свёрнут, показать | |
|
|
12.78, iZEN (ok), 15:02, 04/09/2016 [^] [^^] [^^^] [ответить] | –2 +/– | Jails и были в продакшене с начала 2000-х Только IBM выделила в это же время на... текст свёрнут, показать | |
|
|
10.96, yurkis (ok), 16:52, 07/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Просветите нас что не умеет pkg из того что умеет нормальный пакетник Мне оче... большой текст свёрнут, показать | |
|
11.101, й (?), 02:56, 10/09/2016 [^] [^^] [^^^] [ответить] | +/– | как минимум - разделение порта по пакетам devel, runtime, profile, etc - его ... текст свёрнут, показать | |
|
12.104, iZEN (ok), 11:34, 10/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | У нас точнее отделяются мухи от котлет - http www freshports org search php st... текст свёрнут, показать | |
|
|
10.102, qwerty (??), 10:41, 10/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | В чем конкретно проблема Ты хотел использовать FreeBSD в своих решения и не по... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
4.21, Аноним (-), 11:26, 03/09/2016 [^] [^^] [^^^] [ответить]
| –4 +/– |
Сразу видно, что вы компиляторами пользоваться не умеете.
Чтобы увидеть примеры зависимостей от GCC в коде ядра Linux - для этого достаточно запустить на этом коде любой другой компилятор, отличный от GCC.
Почему вы думаете FreeBSD удалось практически сразу перевести на CLANG? Потому что они сразу они изначально придерживались стандартов языка C. А не полагались на веру в единственно правильный компилятор. И сейчас не полагаются. Появится копилятор лучше CLANG - им будет несложно перейти на него.
| |
|
5.24, ананим.orig (?), 12:31, 03/09/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты чего на личности то сваливаешься?
Умеет он или нет — про это твоё мнение не спрашивали. Пример gcc-зависимостей давай приводи раз вылез.
| |
|
6.31, Аноним (-), 14:45, 03/09/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Ты чего на личности то сваливаешься?
> Умеет он или нет — про это твоё мнение не спрашивали. Пример gcc-зависимостей давай приводи раз вылез.
А вы значит ещё один, чья личность не позволяет определить зависимости кода от компилятора при наличии доступа к коду и компилятору. И вам нужны другие личности, которые бы эти самые зависимости привели.
> давай приводи раз вылез.
И раз уж ваша личность вылезла с требованием привести зависимости, когда их и так можно получить самостоятельно, тогда уж приведите пожалуйста необходимость самого приведения. Проще говоря, зачем вам понадобилось, чтобы вам это привели? И что вы с резузультатом этого приведения собирались делать? И вообще, какой именно ущерб вы усмотрели для своей личности? Ну, раз уж вы вылезли со своей личностью.
| |
|
7.105, Аноним (-), 10:24, 17/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Демагог дешевый, тебя попросили привести конкретные примеры GCC-зависимостей.
| |
|
|
|
|
|
|
1.4, Ivan_83 (ok), 01:02, 03/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
AVX-512 - сдаётся мне что оно сыро-глючно.
Учитывая что в sse и avx я нашёл пару багов:
_mm256_extract_epi8 возвращало нифига не 8 бит а все 16.
_mm_extract_epi8 как то коряво (тормозно) эмулировалась при сборке с версией sse где её нет.
| |
1.5, nc (ok), 01:02, 03/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А какие нибудь интересные нестандартные расширения как у гцц у шланга есть? И поддерживает ли он нестандарные расширения языков С и С++ от гцц?
| |
|
2.6, Crazy Alex (ok), 01:06, 03/09/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
гнушные расширения поддерживает процентов на 70. Насчёт его собственных - не в курсе
| |
2.23, Аноним (-), 11:39, 03/09/2016 [^] [^^] [^^^] [ответить]
| –4 +/– |
> А какие нибудь интересные нестандартные расширения как у гцц у шланга есть?
Самой главной нестандартной фишкой CLANG явилась его полная поддержка стандартов языка C++. В то время как до этого "стандартом" других компиляторов было постоянно ломать стандарты языка, и не заботиться о поддержке стандартов, постоянно пытаясь доказывать что их собственные нестандартные фишки лучше чем у других.
Ничто не мешает делать нестандартные расширения. Другой вопрос, чтобы хотя бы один общий стандарт поддерживали.
> И поддерживает ли он нестандарные расширения языков С и С++ от гцц?
Частично поддерживает.
| |
|
|
4.34, Аноним (-), 15:16, 03/09/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Все правильно, вы лишь подтвердили мои слова. Потому что в сообществе GCC, засуетились и стали поддерживать стандарты в догонку за CLANG.
Это хорошо, что вы научились копипастить цитаты на английском, и приводить ссылки из Интернета. Теперь вам только осталось научиться понимать, что там написано. Способны ли вы самостоятельно своими словами объяснить, без невнятных намеков, что именно вам показалось несоответствующим действительности?
| |
|
5.58, Аноним (-), 20:46, 03/09/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Все правильно, вы лишь подтвердили мои слова. Потому что в сообществе GCC,
> засуетились и стали поддерживать стандарты в догонку за CLANG.
И все бы ничего, если бы тыкавшие палочкой не обнаружили что и у gcc и у clang поддержка последних стандартов таки неполная. При этом у каждого по своему. И наверное как-то криво при этом с невозмутимой мордой втирать про ПОЛНУЮ поддержку стандартов.
| |
|
6.62, ананим.orig (?), 22:19, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Не полная. И с багами.
Но сабж (про апи. И с учетом млих мсылок выше) говорит, что шланг в догоняющих.
Может пока, х/з.
| |
|
|
|
|
|
1.7, h31 (ok), 01:11, 03/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Внесены многочисленные улучшения в бэкенды для архитектур ARM
Это хорошо. Недавно собрал md5deep для ARMv7, сначала с gcc 6.1, потом с clang 3.8. Вариант, собранный gcc, работает на 10-15% быстрее.
| |
|
2.8, Ivan_83 (ok), 01:56, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Тут как повезёт.
Я много экспериментировал с ГОСТ3411-2012, как чисто на С так и с SSE и AVX инстриктами.
Даже на С у меня были варианты на которых шланг работал быстрее а гцц медленнее и наоборот.
Скорость кода сгенеринного шланг 3.8 почти всегда не отличалась от 3.7, а вот 3.6 и 3.3 (или 3.4) отличались.
| |
|
3.9, h31 (ok), 03:37, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Кстати, может подскажете?
Когда-то смотрел бенчмарки gcc vs clang, и почти везде говорилось, что clang компилирует в 2-3 раза быстрее gcc. Я много чего собираю на одноплатнике, и хочется, чтобы компиляция шла быстрее. Собственно поэтому и решил поэкспериментировать с clang-ом. Попробовал у себя - разница есть, но намного меньше ожидаемой, процентов 10. Погуглил свежие бенчмарки - да, ситуация поменялась, теперь нет такой большой разницы в скорости сборки. Поэтому интересно, это gcc так сильно ускорили, или наоборот, clang так пожирнел?
| |
|
4.14, mumu (??), 07:13, 03/09/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
Скорее второе. Новенькие проекты гордятся какие они шустрые и легковесные по сравнению с "динозаврами". Вот только лет через пять все снова встает на свои места. Потому что проекты тяжелые и медленные не потому что так кому-то захотелось, а потому что пришлось.
| |
4.20, iZEN (ok), 11:04, 03/09/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
GCC серьёзно улучшили, а вот LLVM/Clang к 4.0 версии сильно разжирел.
| |
|
5.25, ананим.orig (?), 12:37, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Да-да, вантузного жабиста только и слушать.
Стал просто реализовавать стандарты и.. о! Чудо! Стал толстеть.
Внезапно.
| |
|
6.30, iZEN (ok), 13:57, 03/09/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Да-да, вантузного жабиста только и слушать.
> Стал просто реализовавать стандарты и.. о! Чудо! Стал толстеть.
А то!
% du -d1 /usr/local/llvm37/
3,2M /usr/local/llvm37/bin
46M /usr/local/llvm37/lib
18K /usr/local/llvm37/libexec
219K /usr/local/llvm37/share
10M /usr/local/llvm37/include
59M /usr/local/llvm37/
% /usr/local/llvm37/bin/clang --version
clang version 3.7.1 (tags/RELEASE_371/final)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
% du -d1 /usr/local/llvm38
267K /usr/local/llvm38/share
11M /usr/local/llvm38/include
279M /usr/local/llvm38/bin
18K /usr/local/llvm38/libexec
124M /usr/local/llvm38/lib
415M /usr/local/llvm38
% /usr/local/llvm38/bin/clang --version
clang version 3.8.1 (tags/RELEASE_381/final)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/local/llvm38/bin
% du -d1 /usr/local/llvm39
93K /usr/local/llvm39/share
12M /usr/local/llvm39/include
259M /usr/local/llvm39/bin
18K /usr/local/llvm39/libexec
149M /usr/local/llvm39/lib
420M /usr/local/llvm39
% /usr/local/llvm39/bin/clang --version
clang version 3.9.0 (tags/RELEASE_390/final)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/local/llvm39/bin
> Внезапно.
% du -d1 /usr/local/llvm-devel/
163M /usr/local/llvm-devel/lib
124K /usr/local/llvm-devel/share
354M /usr/local/llvm-devel/bin
12M /usr/local/llvm-devel/include
18K /usr/local/llvm-devel/libexec
530M /usr/local/llvm-devel/
% /usr/local/llvm-devel/bin/clang --version
clang version 4.0.0
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/local/llvm-devel/bin
| |
|
|
8.52, iZEN (ok), 18:49, 03/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | llvm37 завязан на DRI2 Mesa libEGL 11 2 2, используемых в xorg-server-1 17 4 для... текст свёрнут, показать | |
|
|
10.64, iZEN (ok), 00:41, 04/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Всё-таки мне удалось скомпилировать не только ядро, но и базовую систему FreeBSD... текст свёрнут, показать | |
|
11.65, Аноним (-), 01:24, 04/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Если у тебя дофига ресурсов и ты хочешь ощутить себя конкретной билдфермой - поп... текст свёрнут, показать | |
|
12.83, iZEN (ok), 00:53, 05/09/2016 [^] [^^] [^^^] [ответить] | +/– | У меня старенький процессор, на котором я всего лишь хочу ускорить компиляцию и ... текст свёрнут, показать | |
|
11.71, Аноним (-), 06:35, 04/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | несколько дополнительных утилит - clang-tidy, clang-format, clang-include-fixer,... текст свёрнут, показать | |
|
12.75, iZEN (ok), 14:52, 04/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | А что они дают дополнительно Это утилиты только для разработчика полезны, когда... текст свёрнут, показать | |
|
|
10.66, Аноним (-), 01:25, 04/09/2016 [^] [^^] [^^^] [ответить] | +/– | С каких это пор у лапчатых есть еще и база Ну хоть бы иногда lkml почитывали,... большой текст свёрнут, показать | |
|
9.67, Аноним (-), 01:45, 04/09/2016 [^] [^^] [^^^] [ответить] | +/– | Насколько я помню он и с 3 8 нормально живет, при том если это для амдшек - в 3 ... текст свёрнут, показать | |
|
|
|
|
|
4.40, Аноним (-), 15:42, 03/09/2016 [^] [^^] [^^^] [ответить] | +2 +/– | Пока он хреново оптимизировал код - так и было А как оптимизатор стал сравним п... большой текст свёрнут, показать | |
|
5.60, h31 (ok), 21:32, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо за ответ, Аноним. В таком случае останусь на gcc. Развернул на десктопе кросс-компилятор, подключил к одноплатнику как узел distcc - стало собирать в несколько раз быстрее.
| |
|
|
|
2.43, Аноним (-), 15:46, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Это хорошо. Недавно собрал md5deep для ARMv7, сначала с gcc 6.1, потом
> с clang 3.8. Вариант, собранный gcc, работает на 10-15% быстрее.
Подожди, ща они напрягутся и оптимизнут. И скорость компиляции станет как у gcc 4.7 :)
| |
|
3.81, Вареник (?), 17:11, 04/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
Меньшая скорость может быть благодаря лучшей обработке - больше проверок/диангостик/предупреждений, например, или просчет вариантов оптимизаций.
Т.е. это не тот параметр, который надо вытягивать любой ценой и выставлять 10-15% как победу. Можно в любой момент выкинуть кучу проверок и получить 300% прироста за счет кривости и неподдержки чего-нибудь в языке.
Появление clang мотивировалось глючностью, монолитностью (сложности разделения на модули), замусоренностью кода (заплатка на заплатке) GCC, а не претензиями к его скорости.
| |
|
|
1.19, iZEN (ok), 11:01, 03/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
LLVM/Clang 3.9 спокойно собирает ядро FreeBSD 11.0-PRERELEASE, а вот собрать мир не получается - останавливается на libpam-зависимости libc.
| |
|
2.41, Аноним (-), 15:43, 03/09/2016 [^] [^^] [^^^] [ответить]
| +/– |
> LLVM/Clang 3.9 спокойно собирает ядро FreeBSD 11.0-PRERELEASE, а вот собрать мир не
> получается - останавливается на libpam-зависимости libc.
Нашла коса на камень...
| |
|
1.80, Вареник (?), 17:03, 04/09/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
CLANG первые сделали нормальную поддержку стандартов С++ (без тонн собственных несовместимых расширений остальных компиляторов) и вменяемую диагностику ошибок/предупреждений.
Они первые сделали модульность, позволившую появиться куче инструментария, их использующего - кто как парсер, кто как генератор бинарников. Это не просто компилятор, это еще LLVM - инфраструктура для множества языков.
Без конкуренции с ним GCC сейчас был бы намного хуже, поэтому вопли фанатов GCC о ненужности - совершенно неуместны.
| |
1.86, iZEN (ok), 20:14, 05/09/2016 [ответить] [﹢﹢﹢] [ · · · ] | –2 +/– | Кто может подсказать, куда копать в этой стоп-ошибке usr local llvm39 bin clan... большой текст свёрнут, показать | |
|
2.87, Аноним (-), 00:41, 06/09/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Кто может подсказать, куда копать в этой стоп-ошибке:
добавить к CFLAGS += -Wno-error=varargs
| |
|
3.97, iZEN (ok), 21:09, 07/09/2016 [^] [^^] [^^^] [ответить] | –1 +/– | Теперь другая ошибка usr local llvm39 bin clang -Wno-error varargs -c -O2 -pip... большой текст свёрнут, показать | |
|
|
|