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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.