LINUX.ORG.RU

Компилятор Clang теперь пригоден для сборки Linux-ядра

 , ,


0

3

В блоге разработчиков Clang появилась информация о том, что с помощью Clang удалось собрать работоспособное ядро Linux версии 2.6.36 с поддержкой многопроцессорных систем (SMP). Несмотря на то, что некоторые компоненты ядра пока не поддаются компиляции, это событие приближает тот момент, когда Clang превратится в полноценный аналог GCC.

Немного технической информации:

  • В качестве основного стенда использовался Macbook 5.1 на базе Intel Core 2 Duo (не стоит забывать, что разработку Clang поддерживает в первую очередь компания Apple). На этой конфигурации удалось запустить ядро с работоспособным X-сервером, а также ядро в среде Qemu
  • В качестве второго стенда использовалась microATX-платформа на базе Intel Atom. В этом случае ядро также функционировало, однако разработчики не пытались запускать X-сервер
  • В системе на базе собранного ядра компилятор успешно собирает сам себя, а также новое ядро. Разработчики докладывают об успешной работе кода, полученного в ходе четвертого цикла самосборки.

Работоспособны следующие компоненты ядра:

  • Базовый код ядра, файловые системы, поддержка шин, в том числе и PCI, ACPI
  • SMP, SMT, SysV, pThreads и POSIX IPC
  • NUMA, управление памятью и SWAP
  • Сетевой стек IPv4, за исключением IPSec
  • Некоторые драйверы и прошивки

Пока не удалось добиться работы следующих подсистем:

  • CryptoAPI, а следовательно, и SELinux, Posix ACLs, IPSec, eCrypt
  • Стека IPv6 и код Netfilter/Router из-за зависимости от CryptoAPI
  • Виртуализации (поддержки гипервизора Xen)
  • Поддержки загружаемых модулей

Разработчики намерены и дальше улучшать совместимость между Clang и GCC и добиваться сборки с помощью Clang полностью работоспособного ядра.

>>> Подробности



Проверено: anonymous_incognito ()
Последнее исправление: Dmitry_Sokolowsky (всего исправлений: 3)

Ответ на: комментарий от namezys

Меня - нет. А вот с BSD'шной лицензией (модифицированной) такое происходит постоянно, и никто не возмущается, «так и должно быть».

AlexM ★★★★★
()
Ответ на: комментарий от AlexM

> А вот с BSD'шной лицензией (модифицированной) такое происходит постоянно, и никто не возмущается, «так и должно быть».

Я просто не знаю, что и ответить. Вы против анального огораживания, но сами садитесь не другой крючок

namezys ★★★★
()
Ответ на: комментарий от namezys

В 2003ем точно есть. По косвенным признакам, есть и в 98'ом, но искать стандарт не буду. Да, g++ этого не умеет, но это не повод.

KblCb ★★★★★
()
Ответ на: комментарий от maxkit

По-моему, в каждой теме про Flash говорят, что Flash не нужен. При этом в новости про хорошую и нужную программу под лицензией BSD никто не скажет, что эта программа не нужна. Ну кто, например, сказал, что PostgreSQL не нужен, потому что он под бсд? Или xorg?

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от maxkit

>Многие открытия - практически под «BSD-лицензией». Теорема Пифагора или таблица Менделеева - открыта, но и не запрещает на её основе зарабатывать деньги и использовать в каких-то закрытых разработках.

Это научное открытие, оно разве может быть закопиращено? Это, в отличие от программы, не конкретный текст на языке программировании. Сами статьи в научных журналах могут быть закопиращены, но, если я напишу пересказ этой статьи, сохранив научную ценность, но при этом не копируя фразы автора, то ко мне уже никаких предъяв быть не должно. Также и со свободной программой: тебе никто не мешает заимствовать из неё алгоритмы или решения в плане архитектуры и писать с их использованием программы под любой лицензией.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от abacaba

он должен быть:

a) Инкрементальный

b) Уметь парсить неправильный код (т.е. успешно парсить в принципе произвольный текст).

Ничего этого парсеры компиляторов делать не умеют.

Парсер у компилятора в Eclipse JDT умеет это делать, не зря IBM в это столько ресурсов вложила.

kamre ★★★
()
Ответ на: комментарий от Ttt

>Это научное открытие, оно разве может быть закопиращено?

Дык, алгоритмы в программировании - чистейшая математика, однако ...

EvgenijM86
()
Ответ на: комментарий от yyk

так я тебе показывал, но ты как «из благородных девиц» заверещал, что я припёрся пьяный, в вонючих лохмотьях и в 3 часа ночи... Теперь сам ищи - он где-то там...

Вы не аргументы приводили, а пузыри пускали - это разные вещи.

maxkit
()
Ответ на: комментарий от Ttt

Вчера вот анонимус (кажется, он) при Вас сказал, что apache - не нужен.

maxkit
()
Ответ на: комментарий от Ttt

Я имею в виду более прозаичные требования, например перечисление в сносках, в авторах статей и тд. Если будешь допустим делать диплом на основе проекта под BSDL то все разработчики программы окажутся в соавторах в то время как в случае GPL достаточно просто указать источник откуда взяты исходники

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Ttt

Уже даже двойной щелчок мышью закопирастили, а Вы говорите - открытие.

Мне кажется, что Вы несколько передёргиваете. Почему мне так кажется? Потому что я последовательно заявляю, что являюсь сторонником открытого кода. BSDL это позволяет. Я всегда предпочту продукт с открытым кодом продукту с закрытым, если меня устраивает первый. И я также не хочу участвовать в «крестовых походах» против проприетарных продуктов. Например, есть программа Guitar Rig 4, которая куплена и аналогов которой - нет. Есть гитарный процессор Boss GT-8, код которого не открыт. Но я иногда - пользуюсь этими вещами, они мной куплены с пониманием того, что решения - закрыты, но аналогов для себя я не нашёл. Зачем мне с этим всем бороться?

maxkit
()
Ответ на: комментарий от EvgenijM86

Алгоритмы и не могут быть закопиращены. Поэтому копирасты их патентуют, а это уже другая область права.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от DNA_Seq

Алгоритмы закопирайтить нельзя. Копирайтят конкретные текстовые файлы

Но запатентовать можно. Вот взять хоть тяжбу с x264.

P.S. На всякий случай: я лично крайне негативно отношусь к патентованию алгоритмов.

maxkit
()
Ответ на: комментарий от maxkit

s/закопирастили/запатентовали
А это две большие разницы

Например, есть программа Guitar Rig 4, которая куплена и аналогов которой - нет. Есть гитарный процессор Boss GT-8, код которого не открыт. Но я иногда - пользуюсь этими вещами, они мной куплены с пониманием того, что решения - закрыты, но аналогов для себя я не нашёл. Зачем мне с этим всем бороться?


Если они их самостоятельно сделали и не применяют vendor lock-in, то это уже их дело. Хочешь — покупай, не хочешь — не покупай. А вот если они взяли свободный код и добавили свистоперделок (а ещё хуже — поддержку их проприетарного формата обмена данными, который навязывают) и всё закопирастили, то это уже наглость. Почему им можно пользоваться чужим кодом, а другим — нельзя?

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от maxkit

>Вы не аргументы приводили, а пузыри пускали - это разные вещи.

я ж говорю - за деревьями не видишь леса

yyk ★★★★★
()
Ответ на: комментарий от Ttt

Если они их самостоятельно сделали и не применяют vendor lock-in, то это уже их дело. Хочешь — покупай, не хочешь — не покупай. А вот если они взяли свободный код и добавили свистоперделок (а ещё хуже — поддержку их проприетарного формата обмена данными, который навязывают) и всё закопирастили, то это уже наглость. Почему им можно пользоваться чужим кодом, а другим — нельзя?

А теперь покажите мне, где я призывал нарушать лицензию GPL.

maxkit
()
Ответ на: комментарий от KblCb

> В 2003ем точно есть. По косвенным признакам, есть и в 98'ом, но искать стандарт не буду. Да, g++ этого не умеет, но это не повод.

я что-то стандарта за 2003 год по С++ не знаю

export template был в стандарте, который был до С++98. Но это было реализовано только в одном компиляторе, и то работало из рук вон плохо

namezys ★★★★
()
Ответ на: комментарий от Ttt

> Ну кто, например, сказал, что PostgreSQL не нужен, потому что он под бсд?

Кстати, благодря тому, что у постгре есть и закрытый аналог, ее очень хорошо пилят на полученные деньги

namezys ★★★★
()
Ответ на: комментарий от kamre

> Парсер у компилятора в Eclipse JDT умеет это делать

clang тоже. Еще и варианты исправления предлагает

namezys ★★★★
()
Ответ на: комментарий от maxkit

>Напишут твоё имя в титрах, поднимут ЧСВ, а будет ли какой-то другой профит, зависит от лотереи и целесообразности прикарманить код.

А никакого профита. Захотят нанять автора для допиливания под свои нужды- наймут. Тут разницы между GPL и BSD никакой. Я бы выкладывал свой код на котором не способен или не хочу зарабатывать сам. И меня не душит жаба если заработают другие. Пришлют патчи- хорошо, не пришлют- их дело.

yurkis
()
Ответ на: комментарий от namezys

Я вообще разрабатываю проприетарные продукты.

Я просто указываю Вам на Ваши заблуждения.

AlexM ★★★★★
()
Ответ на: комментарий от AlexM

Читал. Но люди все - очень разные. На что пытались намекнуть Вы - я не знаю, у меня несколько версий, а угадывать, какая из них верная, не намерен.

maxkit
()
Ответ на: комментарий от Ttt

>Анализатор кода от компилятора для IDE никак не подходит - хоть от

clang, хоть от gcc, потому что он должен быть:
a) Инкрементальный
b) Уметь парсить неправильный код (т.е. успешно парсить в принципе произвольный текст).
Ничего этого парсеры компиляторов делать не умеют.

откуда такие идиоты берутся? У любого вменяемого парсера с этим проблем нет. Только у студенто^W школьников, начитавшихся книги дракона парсеры падают после первой ошибки. Любой вменяемый компилятор в состоянии понять с какого места текст имеет смысл.

anonymous
()
Ответ на: комментарий от Ttt

> Это научное открытие, оно разве может быть закопиращено?

Запросто. Видите ли, часть научных открытий (ну, скорее, прикладных, чем фундаментальных) - это в чистом виде технологическое know how. И это know how патентуется, то, что не запатентовано, но стоит того, тщательно охраняется ну и так далее. При этом о том, что описываемое явление имеет место быть сообщается на научно-практических конференциях разного уровня. Повторюсь, речь о коммерсантах и технологах от науки, у «чистиков» такое бывает гораздо реже.

AlexM ★★★★★
()
Ответ на: комментарий от KblCb

Данный стандарт известен как C++98. с обновлениями от 2003 года. export template не включен в него

namezys ★★★★
()
Ответ на: комментарий от anonymous

> Любой вменяемый компилятор в состоянии понять с какого места текст имеет смысл.

Ага. Тото он падает в одном месте, а далее миллионы ошибок выдает (тот же gcc)

namezys ★★★★
()
Ответ на: комментарий от anonymous

> Фигня для блондинок. Вот если бы он умел ошибки в шаблонах нормально показывать...

кое-где в шаблонах уже показывает намного лучше, чем жцц

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Zubok

Контрибутить в проект с BSD-like лицензией — это неуважение к своем труду.

Контрибьютить код в проект к жмоту-столлману с его дополнительными к GPL анальными ограничениями на промежуточное представление внутри gcc в виде «GCC runtime library exemption» это неуважение к своем труду можно только в случаях крайней необходимости; а лучше конечно контрибьютить в clang.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от maxkit

Я пытался намекнуть! о! что BSDL и GPL в отношении ПО находятся примерно в тех же позициях,как сообщение об открытии когерентного излучения и конструирование несколькими исследовательскими лабораториями при коммерческих фирмах очередного типа лазерных приводов.

В первом случае человек (или лаборатория) работает «за публикацию» и «индекс цитируемости», во втором - на изготовление продукта. GPL позиционируется как бизнес-лицензия для сообщества, некая гарантия того, что результаты труда не будут упёрты ловкими бизнесменами. Гарантия, прямо скажем, не 100%, но, в принципе, работает.

AlexM ★★★★★
()
Ответ на: Конкуренция добро, GCC рулит. от Camel

> Как тут уже сказали, отправлять свой код в проект с BSD'шной лицензией есть неуважение к собственному труду, по сути дарение кода проприетарщикам.

Кстати, я правильно понял, что boost.org состоит исключительно из «неуважения к своему труду»? И различные свободные реализации stl тоже?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от AlexM

> GPL позиционируется как бизнес-лицензия для сообщества, некая гарантия того, что результаты труда не будут упёрты ловкими бизнесменами

ну как и надо было доказать, проприетарщина с открытым кодом

namezys ★★★★
()

Всё-таки хорошо, что проект развивается. Уже видны улучшения. Где-то год назад Clang выдавал миллионы ошибок уквально на всё и компилировал разве что самодельные маленькие программы. А теперь уже можно собирать что-то серьёзное.
P.S. В конце-концов собрать ядро получилось, но версии 2.2 и практически ни с чем...

postrediori
()
Ответ на: комментарий от AlexM

Я вам меньше доверяю чем Кнуту, а он сказал: «патент на алгоритмы и формулы принадлежит господу богу.» (c)

alx_me ★★☆
()
Ответ на: комментарий от AlexM

Вы сейчас чепуху написали. По-Вамшему получается, что apache и postgres - это так, ради цитируемости пишется, а вовсе не конкретные продукты высокого качества.

Скажу Вам больше. Именно ключевых изобретений под GPL - как-то не так и много приходит на ум.

maxkit
()
Ответ на: комментарий от namezys

> ну как и надо было доказать, проприетарщина с открытым кодом

Бздуны уже новый стек TCP/IP MS-ту дописали, или ещё пишете? Если нет, то почему они на моём лоре (_linux_.org.ru), ленивцы?

alx_me ★★☆
()
Ответ на: комментарий от namezys

Ну да, там у них была какая-то такая политика. Я это всё к тому, что «компания, создатель проекта» может с собственным кодом делать что угодно, в том числе выпускать под какими угодно разными лицензиями.

rusty_angel
()
Ответ на: комментарий от alx_me

> Бздуны уже новый стек TCP/IP MS-ту дописали, или ещё пишете?

А linux сам писал. Или тоже идею у BSD взяли? А что тогда у вас сокеты делают?

namezys ★★★★
()
Ответ на: комментарий от Ttt

> Подводя итог GPL-срача, хочется попросить анти-GPL-ьшиков хотя бы систематизировать свои аргументы и хотя бы не противоречить самим себе

Ты видимо даже приблизительно не понял, о чем идет речь.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от rusty_angel

Да, если она владеет правами на этот код.

С BSD проще и красивей. Правами владеют все, ты только правом авторства

namezys ★★★★
()
Ответ на: комментарий от maxkit

> Например, код TCP Microsoft полностью взяли из FreeBSD. В итоге имеем 90% пользователей в мире с отлично работающей сетью.

Кстати, я припоминаю историю порядка 2000 года, когда Microsoft IIS на отдаче статического контента обогнал Apache на Linux. Выяснилось, что дело в хреновом сетевом стеке линукса. Дальше начали раздаваться отмазки «а вот если бы тестили на BSD...», «а все равно большинство контента динамическое...»

Это к сравненению качества кода под разными лицензиями.

www_linux_org_ru ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.