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)

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

За три года даже не успели переписать gcc. А ведь эти ресурсы можно было бы на более полезное дело потратить.

Это к Стиву Джобсу претензия, я так понимаю? Ведь финансирует это всё - Apple.

Ваш комментарий обнаруживает в Вас человека, далёкого от понимания, что такое компилятор, как он пишется, какие там проблемы, и т.д. Если Вы считаете, что 3 года для компилятора с нуля - это много - мне даже нечего Вам сказать.

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

>Вы думаете, что FreeBDS состоит на 90% из GPL, что ли? Нет, и никогда не состоял. GPL там не так и много, из значительного. Почему потребовалось выпиливать GCC? Да потому, что в BSD он её версии 4.2.1 - последняя версия под GPL2, последующие уже под 3-й идут.

Мне вообще, в принципе, довольно фиолетово, на сколько оно там состоит, у меня на одном сервере есть фря, я очень хочу от неё избавиться, но не получается. Это, собственно, всё, что меня с ней связывает.

Вот по поводу GPL3, что мешает использовать его в фре? Я не очень в курсе к своему стыду. :)

Они не требовали. Они просто хотели, чтобы тут тоже этот драйвер был.


Ну, про требовали я, наверно, загнул... Но вот Microsoft, взяв TCP/IP стек что-то вернули обратно? А к ним были мольбы вернуть?

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

Линус же говорил, что с радостью свалит с gcc если найдется компилятор лучше и даже готов в этом случае начать войну с gccзмами

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

>Это к Стиву Джобсу претензия, я так понимаю? Ведь финансирует это всё - Apple.

Прямо платить столько же, сколько своим индусам, пишущим cocoa, itunes и прочую банальщину?

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

Мне вообще, в принципе, довольно фиолетово, на сколько оно там состоит, у меня на одном сервере есть фря, я очень хочу от неё избавиться, но не получается. Это, собственно, всё, что меня с ней связывает.

При чём тут Ваш личный опыт и неумение/нежелание работать с FreeBSD?

Вот по поводу GPL3, что мешает использовать его в фре? Я не очень в курсе к своему стыду. :)

Всего лишь несовместимость с лицензией BSD.

Ну, про требовали я, наверно, загнул... Но вот Microsoft, взяв TCP/IP стек что-то вернули обратно? А к ним были мольбы вернуть?

Во-первых, MS финансирует многие проекты под BSD-лицензией. Например, у Apache MS вообще «платиновый спонсор». Во-вторых, Вам разве жаль этого стека? Зато весь мир с нормальной сетью сидит. К тому же, MS тоже внесло что-то в прогресс ПО в целом, или Вы и с этим не согласны?

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

Ну так бери тот драйвер под GPL и ставь. Если он только для Linux, портируй на freebsd. Тебе кто запрещает?

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

Ну да, и не он один. Просто в FSF принято хвалить GCC по одной простой причине: другого нет.

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

Мне никто не запрещает, но он не войдёт в систему.

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

> Ты не сможешь построить свободную систему на базе эппловских технологий.

А это надо?

Под нее пишут проги, ориентированные на хомячков, которым нет дела до открытых исходников. Зачем мне такая система, даже открытая, с этими хомячковыми програми?

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

> Во-вторых, Вам разве жаль этого стека?

Прикольно получается :-)

Если не ошибась, в линукс БСД-шный сетевой стэк и бесплатно не взяли, но нас пугают тем, что Микрософт этот стэк взяла, закрыла и делиться не хочет :-)

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

>Во-первых, MS финансирует многие проекты под BSD-лицензией. Например, у Apache MS вообще «платиновый спонсор». Во-вторых, Вам разве жаль этого стека? Зато весь мир с нормальной сетью сидит. К тому же, MS тоже внесло что-то в прогресс ПО в целом, или Вы и с этим не согласны?

Здесь как бы не винфак и не стоплинукс, здесь за такое мнение могут сильно побить. Когда это microsoft спонсировала свободные проекты, кроме пары плагинов для своих поделий, от которых тоже избавляются (только недавно ironpython выкинули на мороз)? Apache вроде только недавно стали финансировать.

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

Так это изначально ясно. BSD с GPL - совместима, а GPL с BSD - нет. Код BSD может быть взят в GPL-программу, обратное - не верно.

Это как FreeBSD умеет запускать бинарные Linux-программы, а Linux - не умеет запускать бинарных FreeBSD программ.

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

Если не ошибась, в линукс БСД-шный сетевой стэк и бесплатно не взяли, но нас пугают тем, что Микрософт этот стэк взяла, закрыла и делиться не хочет :-)

Да, тоже об этом подумал.

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

> Ты не сможешь построить свободную систему на базе эппловских технологий.

и второе:

об уровне хомячков-пользователей говорит тот факт, что аж до 10.4 finder не умел аплоадить на ftp, и требовалась платная шареварная прога, которая аплоадила в своем окошке, а не добавляла эту фичу в *систему*

да, я преклоняюсь перед этой системой, и прямо ЩАС хочу ее свободный аналог, да!!!

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

Здесь как бы не винфак и не стоплинукс, здесь за такое мнение могут сильно побить. Когда это microsoft спонсировала свободные проекты, кроме пары плагинов для своих поделий, от которых тоже избавляются (только недавно ironpython выкинули на мороз)? Apache вроде только недавно стали финансировать.

Если это правда, то как назвать людей, которые не терпят правду и готовы за неё «побить», иначе, как не фанатиками? Впрочем, я сомневаюсь, что тут все настолько неадекватны.

Такое чувство, что Вас Столман укусил.

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

>Так это изначально ясно. BSD с GPL - совместима, а GPL с BSD - нет. Код BSD может быть взят в GPL-программу, обратное - не верно.

1) Вы тогда, как и проприетарщики, говорите «что наше - наше, а ваше - тоже наше». Хотите, чтобы весь код распространялся только под вашей лицензией.
2) Вопрос был, чем вас GPL3 устраивает меньше, чем GPL2 в плане лицензии, под которой распространяется gcc?

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

об уровне хомячков-пользователей говорит тот факт, что аж до 10.4 finder не умел аплоадить на ftp, и требовалась платная шареварная прога, которая аплоадила в своем окошке, а не добавляла эту фичу в *систему*

Ещё смешно. Представьте чувства человека, купившего макбук за $1700, запустившего видео в QuickTime, попытавшегося развернуть его на полный экран и получившего сообщение: купите полную версию QuickTime ещё за $40, он - умеет полноэкранное видео показывать.

да, я преклоняюсь перед этой системой, и прямо ЩАС хочу ее свободный аналог, да!!!

Mac OS X - на мой взгляд, самая неудобная из всех систем, которые я видел.

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

1) Вы тогда, как и проприетарщики, говорите «что наше - наше, а ваше - тоже наше». Хотите, чтобы весь код распространялся только под вашей лицензией.

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

2) Вопрос был, чем вас GPL3 устраивает меньше, чем GPL2 в плане лицензии, под которой распространяется gcc?

http://www.linuxfordevices.com/c/a/News/GPLv2-vs-GPLv3-for-beginners/

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

Зачем мне for beginners, если я тексты обоих версий читал и прекрасно знаю, чем они отличаются. Вы лучше скажите, чем вам они мешают в плане компилятора? Как, например, запрет на тивоизацию здесь отражается? Обычно на тивоизируемые системы компилятор не суют. А если суют, то надо запретить запуск собранных им бинарников, в противном случае никакой тивоизации по отношению к gcc не будет.

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

>При чём тут Ваш личный опыт и неумение/нежелание работать с FreeBSD?

Ни при чём, я объяснил, что я сторона в споре не заинтересованная, но послушать о мотивах не против.

Всего лишь несовместимость с лицензией BSD.


Об этом уже сказали. Не понятно, что к чему, я в линуксе использую программы под проприетарными лицензиями, и ничего. А в BSD нельзя чтоли?

Во-первых, MS финансирует многие проекты под BSD-лицензией. Например, у Apache MS вообще «платиновый спонсор».


Опять передёргивание. Причём тут апач, когда речь про фряху и был конкретный вопрос, в чём профит фряхи от этого.

Во-вторых, Вам разве жаль этого стека? Зато весь мир с нормальной сетью сидит.


Мне — нет, но тут уже речь о трактовке свободы. Что мешает делать, как когда-то, Qt, двойное лицензирование, например?

К тому же, MS тоже внесло что-то в прогресс ПО в целом, или Вы и с этим не согласны?


Она получила за это сполна.

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

Обычно на тивоизируемые системы компилятор не суют.

Ололошеньки.

rpm -qf /lib/libgcc_s.so.1 
libgcc1-4.4.3-2mnb2
anonymous
()
Ответ на: комментарий от anonymous

1) Это что за платформа?
2) Это всего лишь рантайм. Его, если так хотят, могут и форкать. Но сам компилятор зачем трогать?

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

>1) Это что за платформа?

Обычный дистрибутив линукса.

2) Это всего лишь рантайм. Его, если так хотят, могут и форкать.

А ну-ка поподробнее, как ты собрался форкать, то, что вышло под GPLv3. И вообще, оно часть gcc. Как ты его будешь синхронизировать с основным проектом, если код оттуда кроме как под GPLv3 таскать нельзя.

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

> Это всего лишь рантайм. Его, если так хотят, могут и форкать. Но сам компилятор зачем трогать?

когда ты первый раз неверно употребил слово «форкнуть» в значении переписать заново, я промолчал:

И покажи мне, сколько проектов сторонниками СПО было форкнуто с единственной целью — поменять лицензию на GPL?

а теперь по делу: недовольство проявляют вовсе не те, кто хочет тивоизировать жцц; тебе просто указывают на то, что ты ничего не понимаешь

ладно объясню: сравним жцц с автоматической кофеваркой

сейчас лицензия этой кофеварки такова, что использовать ее просто как кофемолку НЕЛЬЗЯ, если этот помолотый кофе будет завариваться в чашке с не-GPL-лицензией, и если стакан с помолотым кофе предполагается снова поставить в кофеварку и лить в него кипяток из кофеварки (= рантайм-библиотеки жцц), но можно, если заливать кипяток из другого источкика (= использовать другие ран-тайм библиотеки)

личностые характеристки того, кто придумал называть такое «свободным ПО» оцени сам

посему и популярность clang — не из-за каких-то Особых Плюсов BSD, а из-за того, что там нет такого (вырезано цензурой)

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

не уверен, что ты знаешь, что разговор идет не столько про GPL, а про GCC runtime library exemption

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

Дело в том, что FreeBSD - это целая система целиком, а не просто ядро. Компилятор - входит в систему. Поэтому.

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

>когда ты первый раз неверно употребил слово «форкнуть» в значении переписать заново, я промолчал:

Их же GPL2 больше устраивает.

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

Об этом уже сказали. Не понятно, что к чему, я в линуксе использую программы под проприетарными лицензиями, и ничего. А в BSD нельзя чтоли?

В BSD делают различие между основной системой и то, что в /usr/local. Основная система не содержит в себе ничего, что не совместимо с BSD-лицензией.

Опять передёргивание. Причём тут апач, когда речь про фряху и был конкретный вопрос, в чём профит фряхи от этого.

В данном случае, возможно, никакой выгоды. Но на то и BSD-лицензия. Не всё делается ради выгод. А уж в чём выгоды, в деньгах или в коде - не важно.

Что мешает делать, как когда-то, Qt, двойное лицензирование, например?

Продукт под BSDL может быть использован в системе под GPL. Не вижу смысла в двойных лицензиях.

Она получила за это сполна.

Я бы сказал, что даже больше.

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

>В BSD делают различие между основной системой и то, что в /usr/local. Основная система не содержит в себе ничего, что не совместимо с BSD-лицензией.

Это абсолютно не отвечает на вопрос, почему GPLv2 устраивала, а v3 перестала. Вроде прямые вопросы задаёшь, а ответы получаешь непонятно на что.

Binary ★★★★★
()

Вот те раз, оглянуться не успели, а уже 10 страниц треду.

Расскажите, православные, сильвисрач-то был?

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

Ну так, а ты думал -фтп-клиенты под Мак ОСь - серьезный бизнес. Был. А теперь вот все, порушили экосистему.

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

>Спасибо, не надо!

А зачем кому-то закрывать код, если Clang и LLVM развиваются в основном силами сообщества? А Ябблу вполне достаточно, что никто не отбирает у них копирайты на ими написанный код

annulen ★★★★★
()

10 страниц…

Думаю, о чём? А оказывается тёплый, ламповый срач — GPL vs BSD.

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

>об уровне хомячков-пользователей говорит тот факт, что аж до 10.4 finder не умел аплоадить на ftp

а зачем, есть же консоьный ftp-клиент из коробки

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

> Авторы GCC runtime распорядились своим трудом по собственному усмотрению тоже.

У этого проприетарного gcc было очень много авторов, и все они, доверяя обещаниям, передавали свои права FSF. А их банально кинули, без согласия всех коммиттеров сменив GPLv2+ на GPLv3+.

Результат очевиден: разработчики за пределами некоторого сабсета GNU форкнули себе 4.2.1 под GPLv2, а основные силы бросили на развитие Clang, и дел с FSF больше иметь не собираются. Все полиси по передача прав в пользу FSF упразднили: с кидалами дальше общаться нет смысла.

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

>Всего лишь несовместимость с лицензией BSD.

В каком параграфе? о_О

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

Ну можно, например, сделать свой закрытый формат бинарников для macos, в результате использование неодобренного яблом компилятора для сборки под macos будет невозможно.

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

>Clang - это не переделка GCC

А вопрос был и не по нему :) Здесь вообще теперь сложно концы найти :))

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

> Apache не имеет аналогов. И попытки форкнуть его и разрабатывать самостоятельно обречены.

А зачем нас тогда пугают:

1. Закрываем код
2. Продаем
3. …
4. Профит

<сарказм>
Оно, оказывается, не работает? Оказывается нельзя так просто получить профит от чужого BSD (MIT, X11,…) кода?
</сарказм>

baka-kun ★★★★★
()
Ответ на: комментарий от annulen

> а зачем, есть же консоьный ftp-клиент из коробки

он, знаете-ли, совершенно так же работает, как и в Неудобном И Недружественном Терминале Линукса

а еще в Неудобном И Недружественном Линуксе есть как кде-шная, так гномовская vfs, давно позволяющая аплоадить файл на фтп, перетаскивая его из одного окна в другое

www_linux_org_ru ★★★★★
()

Да всеравно гцц будет лучше. Хоть что делайте, а история вполне очевидна это говорит. Хочет эпл свой компайлер - пусть делают, хотят бздшники жрать их подачки - путь давятся.

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

>У этого проприетарного gcc было очень много авторов, и все они, доверяя обещаниям, передавали свои права FSF.

покажи где FSF обещал _не переводить_ gcc под следующие версии GPL? И таки - права передали? Сами? И не под дулом пистолета?

А их банально кинули, без согласия всех коммиттеров сменив GPLv2+ на GPLv3+.


_Всех_ кинули? Прям всех-всех? Или кто-то был рад этому переходу?

И опять таки - права передали, какое нах согласие? Вы вообще о чём?

Это у всех БСДунов характерная черта - поносить бредом?

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

Так ведь спрашивали, чем он отличается от GCC, но так и особо ничего по существу не сказали, кроме как того, что он под BSDL.

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

> А их банально кинули, без согласия всех коммиттеров сменив GPLv2+ на GPLv3+

А вот у Линуса нашего Торвальдса хватает мозгов так разработчиков не кидать.

Впрочем, тивоизация линукса мне не нравится, и я бы конечно хотел видеть что-то, запрещающее это.

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

Это абсолютно не отвечает на вопрос, почему GPLv2 устраивала, а v3 перестала. Вроде прямые вопросы задаёшь, а ответы получаешь непонятно на что.

Если коротко, то v3 запрещает tivo'изацию и запрещает кросс-патентные договоры, что, в свою очередь, мешает прооприетаризации, если она понадобится.

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

Хммм... Давно уже не использовал подобные IDE но эта фича конечно вроде бы должна быть удобной. Конечно можно привести можество примеров из реальной жизни когда такую фичу ни одна IDE реализовать не сможет но это было бы занудством поскольку подобные примеры есть скорее исключение нежели правило.

В данном случае нужно подробно смотреть на код gcc, поскольку утверждать что он не пригоден для динамического анализа без исследования исходников нельзя.

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

Ну можно, например, сделать свой закрытый формат бинарников для macos, в результате использование неодобренного яблом компилятора для сборки под macos будет невозможно.

Вот Вы берётесь спорить о лицензиях и свободах, а не знаете элементарных вещей. Apple не так давно _прямо_ запретила использование средств разработки, которые ими не одобрены. Идиотизм? На мой взгляд - да. Но, правда, отменили уже частично. Так что формат бинарников не нужно менять.

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