|
2.12, kleem_head (?), 09:20, 20/09/2017 [^] [^^] [^^^] [ответить]
| –4 +/– |
> clang имеет хороший статический анализатор (по сравнению с gcc)
то есть качество кода ядра такое хорошее, что этот компилятор теперь его может собрать? Улыбнуло. :)
| |
2.21, Аноним (-), 12:55, 20/09/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
> clang имеет хороший статический анализатор (по сравнению с gcc)
Ну зачем же так, он не просто лучше чем никакой, он вообще довольно хороший.
| |
|
3.26, Аноним (-), 17:37, 20/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
То, что в GCC нет встроенного анализатора не отменяет того факта, что они существуют отдельно. Просто GCC не комбайн.
| |
|
4.28, Аноним (-), 18:43, 20/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
Ошибаетесь, есть.
-Wall -Werror
Можно ещё много чего включить:
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/Warning-Options.html
Помимо статического анализа он поддерживает динамический через ASAN, MSAN (не проверял), UBSAN и TSAN (этот не проверял).
Включается, соответственно, так:
-fsanitize=address
-fsanitize=memory
-fsanitize=undefined
-fsanitize=thread
Опция указывается и при компиляции в объектные файлы, и при линковке.
GCC не так уж сильно отстаёт от clang в этом плане.
| |
|
5.31, Аноним (-), 21:15, 20/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это батенька не статический анализатор у вас там в gcc, а так, уровень дотошности.
Вы бы тихонько там посмотрели что умеет Clang LLVM, а потом бы уже писали.
| |
|
6.42, Crazy Alex (ok), 00:51, 23/09/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Это вы, батенька, горячитесь.
Я тут уже несколько лет вожусь с одним монструозным легаси сишным проектом, причём сборка по ряду причин идёт и свежим GCC и свежим Clang. Выглядит так, что они выровнялись где-то с год назад - во всяком случае, предсказать, кто следующий выдаст осмысленную ругань, я примерно с тех пор не могу - то один с новой версией что-то находит, то другой.
| |
|
|
|
|
|
1.2, Аноним (-), 22:48, 19/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Разве gcc и clang не должны поддерживать стандартный C11 к которому и должен быть приведён код ядра линукс? Что ж там такое то в ядре и компиляторах твориться что ядро надо патчить чтобы оно собралось на другом компиляторе?!
| |
|
2.4, Ordu (ok), 23:02, 19/09/2017 [^] [^^] [^^^] [ответить]
| +9 +/– |
Ну там же ссылка есть в новости, где можно посмотреть грядку патчей, которые нужны. Лень потыкать?
Там разные причины, где-то clang глубже оптимизирует, из-за чего UB вылезает; где-то дело в багах clang'а; где-то грязные хаки ядра надо сделать менее грязными, чтобы clang их проглатывал бы молча, так же как и gcc; где-то разница во взаимодействии компилятора с внешними программами, скажем, то какие опции компилятор по умолчанию передаёт или не передаёт в gas;... Это то, что я высмотрел, рандомно тыкая по патчам. Ты можешь тоже потыкать и дополнить список.
| |
|
3.10, нэту (?), 07:02, 20/09/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
а на чём ещё? asm - не в счет - шланг в него нормально умеет
| |
|
4.24, iZEN (ok), 15:47, 20/09/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
Частично на perl, xml, mk, m4 и башизмах в sh-скриптах?
| |
|
|
6.30, номия (?), 20:54, 20/09/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
это скорее про сборочное окружение.. от него тоже куча проблем для сборки клангом
| |
|
|
|
3.16, Аноним (-), 09:57, 20/09/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не удивил. Точнее удивил но по другой причине. Меня удивляет само существование людей думающих что они в состоянии судить об информированности собеседника по одному комментарию.
Уже не первый раз сталкиваюсь с подобным и каждый раз удивляюсь.
| |
|
2.11, nobody (??), 09:19, 20/09/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
> стандартный C11 к которому и должен быть приведён код ядра линукс
Торвальдс с Вами категорически не согласен и срать хотел на C11 и другие стардарты
| |
|
3.13, Владимир (??), 09:22, 20/09/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
Там до сих пор C89, по той причине, что Торвальдс не хочет, чтобы кто-то случайно закоммитил код, смешивающий код и объявления.
| |
|
4.14, nobody (??), 09:30, 20/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Там не только C89. Там много компиляторной магии от gcc. Собственно "поддержка компиляции с помощью clang" главным образом сводится к добавлению всех этих gcc'измов в шланг.
Вот, допустим, начало мега-треда, где, кроме прочего, Торвальдса спрашивают, почему он не использует C11 атомики в ядре: https://gcc.gnu.org/ml/gcc/2014-02/msg00052.html
| |
|
|
|
3.33, Аноним (-), 07:03, 21/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> На чистом C ядро написать невозможно.
Смотря что иметь ввиду под чистым С. Если отсутствие std библиотек - сложно, но возможно. Если же использование C++ - Там его нет.
| |
|
2.45, pavlinux (ok), 02:51, 25/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> к которому и должен быть приведён код ядра линукс?
С какого уя? Ядро - STD C90 максимум.
| |
|
1.3, Andrey Mitrofanov (?), 22:59, 19/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
> в котором рассказали об инициативе переноса в основное ядро оставшихся патчей
> от заброшенного последние несколько лет проекта LLVMLinux
>llvm.linuxfoundation.org).
Да! Хотелось бы услышать начальника транспортного цеха по ворпосу проблемы GPLinBase в этих самых --
>по переводу сборочного инструментария Android и
> Chrome OS на использование Clang/LLVM.
Что там эти Гугле, Линукс-фондейшен, Эппле и пр. микрософты думают себе об этой назревшей и опухшей Проблеме?1 Когда уже, в конце-то концов!, переход на ядро FreeBSD и яблочный ld? А то ж многовато в одичавшей природе linux-ов стало.
| |
|
2.6, Ordu (ok), 23:06, 19/09/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
>>по переводу сборочного инструментария Android и
>> Chrome OS на использование Clang/LLVM.
> Что там эти Гугле, Линукс-фондейшен, Эппле и пр. микрософты думают себе об
> этой назревшей и опухшей Проблеме?1 Когда уже, в конце-то концов!,
> переход на ядро FreeBSD и яблочный ld? А то ж многовато
> в одичавшей природе linux-ов стало.
Гугл пилит Fuchsia, чтобы избавиться от легаси-ядра в Android'е: https://en.wikipedia.org/wiki/Google_Fuchsia
| |
|
3.7, Andrey Mitrofanov (?), 23:19, 19/09/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>>по переводу сборочного инструментария Android и
>>> Chrome OS на использование Clang/LLVM.
>> Что там эти Гугле, Линукс-фондейшен, Эппле и пр. микрософты думают себе об
>> этой назревшей и опухшей Проблеме?1 Когда уже, в конце-то концов!,
>> переход на ядро FreeBSD и яблочный ld? А то ж многовато
>> в одичавшей природе linux-ов стало.
> Гугл пилит Fuchsia, чтобы избавиться от легаси-ядра в Android'е: https://en.wikipedia.org/wiki/Google_Fuchsia
Там написано, что это предположения, а рыба молчит об лёд с головы...
Впрочем, позитивно: у Гугле [возможно-вероятно] будет ядро под пермиссивной лицензией с эппловым компилятором к своим ос с пермиссивными лицензиями. Это жжж здорово: станет _меньше_ смартфонов, микрософт снова станет делать телефоны... Можно ж будет даже исходники совсем-обратно позакрывать.
Эх, старые _добрые_ времена!! %-)
| |
3.23, ввввв (?), 15:13, 20/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>>по переводу сборочного инструментария Android и
>>> Chrome OS на использование Clang/LLVM.
>> Что там эти Гугле, Линукс-фондейшен, Эппле и пр. микрософты думают себе об
>> этой назревшей и опухшей Проблеме?1 Когда уже, в конце-то концов!,
>> переход на ядро FreeBSD и яблочный ld? А то ж многовато
>> в одичавшей природе linux-ов стало.
> Гугл пилит Fuchsia, чтобы избавиться от легаси-ядра в Android'е: https://en.wikipedia.org/wiki/Google_Fuchsia
Удачи им, как там, кстати модульный телефон?
Linux ядро - лучшая часть андроида, без него очередной симбиан ос будет с понятной судьбой.
| |
|
4.32, Ordu (ok), 23:08, 20/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Linux ядро - лучшая часть андроида
Не знаю даже, чем вызвано такое заявление. Я пользуюсь Android'ом, и я конечно знаю, что там внутре неонка^W линукс, но это никак не сказывается на моём опыте общения с андроидом как пользователя. То есть, мне как пользователю совершенно фиолетово, какое там ядро, хоть ntoskrnl.exe. А как программисту мне опять же фиолетово, потому что насколько я знаю, программирование под андроид -- это общение с джавовыми API, вне зависимости от выбранного мною языка программирования. Какая разница, какое там ядро прячется в глубине?
| |
|
|
6.41, Ordu (ok), 19:02, 22/09/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
>>Какая разница, какое там ядро прячется в глубине?
> Стоимость.
Да ладно. Стоимость давно зависит не от стоимости компонентов, а от готовности потребителя платить.
| |
|
|
6.50, Ordu (ok), 07:57, 25/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
>> А как программисту мне опять же фиолетово, потому что насколько я знаю,
>> программирование под андроид -- это общение с джавовыми API, вне зависимости
>> от выбранного мною языка программирования. Какая разница, какое там ядро прячется
>> в глубине?
> Открой для себя Android NDK и прелести писанины на C/Asm под ARM/Linux
> https://github.com/googlesamples/android-ndk/blob/master/native-codec/app/src/
Это бинды к жаба-коду, то есть способ запуска жабы из "нативного" кода. Вот уж удовольствие, писать на asm'е, чтобы вызывая любую апишную функцию, заниматься конвертацией каждого int'а в аргументах в жабовский формат, а потом дёргать jvm.
| |
|
7.51, pavlinux (ok), 05:11, 26/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
>>> А как программисту мне опять же фиолетово
>> Открой для себя Android NDK
> Это бинды
Это примеры. Под андроед-ядро можно прекрасно писать на Ц/Ц++ и грузить свой бинарь/либу
| |
|
8.52, Ordu (ok), 11:02, 26/09/2017 [^] [^^] [^^^] [ответить] | +/– | Ну и Допустим, что в андроеде сменилось ядро, как это отразится на написании эт... текст свёрнут, показать | |
|
|
|
|
|
|
|
1.15, Пох (?), 09:57, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Дайте угадаю, будет как с ZFS. Cначала кpасноглазыe шипели и хвалились бтрфс, а потом дружненько перешли на ненавистную им ZFS. Да еще и зрадник красношапка положил болт на их любовь.
В ближайшее время ждем новостей в стиле "линукс только выиграл от перехода на clang. gcc не нужен."
| |
|
2.17, Антон Семенович Шпак (?), 10:17, 20/09/2017 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Дайте угадаю, будет как с ZFS. Cначала кpасноглазыe шипели и хвалились бтрфс,
> а потом дружненько перешли на ненавистную им ZFS.
Вы говорите с голосами в своей голове
| |
2.20, нах (?), 11:08, 20/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Дайте угадаю, будет как с ZFS.
но смисел?
> Дайте угадаю, будет как с ZFS. Cначала кpасноглазыe шипели и хвалились бтрфс,
> а потом дружненько перешли на ненавистную им ZFS.
хто, хто все ети льюди? Куда и когда они перешли?
редхат покупает пилильщиков тру олдскульных линуксных решений - и именно их пихает в свои рекомендации. Вечно жить с lvm, xfs и ext4 (которую редхат, кстати, почему-то не очень любит - видимо, потому что ее любит гугль),приделывая к ним дедап, сжатие и т д (а шифрование уже есть).
| |
2.27, Аноним (-), 17:47, 20/09/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> будет как с ZFS
А что с ним?
> а потом дружненько перешли на ненавистную им ZFS
Кто там перешёл? 1% серверов, хостерами которых являются энтузиасты? Ну да, ну да.
> Да еще и зрадник красношапка положил болт на их любовь.
Красношапка компашка похуже M$.
> линукс только выиграл от перехода на clang
Линус покажет известный жест шлангу и всё останется по старому.
| |
2.29, Аноним (-), 19:48, 20/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
от бтрфс отказались только красношляпники, да и те только из-за NIH. Причем в пользу не ZFS, а какой-то своей хипстерской приблуды на Rust. Основные разработчики бтра (сусе, фейсбук и т.д.) продолжают его пилить.
| |
2.34, Andrey Mitrofanov (?), 09:37, 21/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
> В ближайшее время ждем новостей в стиле "линукс только выиграл от перехода
> на clang. gcc не нужен."
тогда уж "торвальдс-ФоКо перешёл на цланг -- РХЕЛ переходит на Hurd"?
--нужно больше голосов в голове!
| |
|
1.19, Аноним (-), 11:07, 20/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
>рассказали об инициативе переноса в основное ядро оставшихся патчей от заброшенного последние несколько лет проекта LLVMLinux
Как там поживает средний палец Торвальдса? ;)
| |
|