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)
Ответ на: комментарий от Quasar

> тот же Webkit, основанный на KHTML.

Как я понимаю, Webkit открыли как раз в силу лицензии LGPL на KHMTL и только поэтому.

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

namezys> Технически gcc хуже. Просто старее

Ну нифига себе. Теперь время, когда код написан, сало технически параметром? Это параметр только для торсионщиков.

Quasar
()

Будет совсем хорошо когда ядро Linux будет запускаться поверх LLVM. Только не смейтесь. Это позволить выпускать одну Android прошивку под множество ARM смартфонов. По крайней мере, хомячки должны быть довольны. :)

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

baka-kun> Опят автор виноват в том, что распорядился своим трудом по собственному усмотрению? Ну-ну.

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

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

> Скачать программу с офсайта сайта ни есть прийти в дом и забрать. Уже начинают надоедать твои глупые аналогии. А так, если ты трясёшься над своим кодом то тебе прямая дорога к проприетарщикам.

Мы сейчас не про пиратство говорим если что.

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

Так вот BSD - официальное разрешение использовать плоды моего творчества без моего согласия и вообще как будто меня не было. А GPL говорит: «Нет брат, если используешь нахаляву - будь добр - отплати тем же»

Нифига себе. Где ты там увидел проприетарщину? GPLv2 внезапно стала проприетарной? Так что ли?

А где я сказал, что GPLv2 проприетарна? Я сказал, что различия связаны с проприетарзиной или ее поборниками. Например, GPL нельзя использовать в своей проприетарной проге, потому сделали LGPL, который встроить можно. Аналогично GPLv3 сделали, потому что некоторые умные люди находили способ, как онально ограничить тебя даже в рамках GPL и хотя код они не закрывали, но продуктами их труда пользоваться иначе, чем они тебе разрешили, было нельзя.

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

maxkit> Обвиняют не его, обвиняет - он.

Столлман не имеет ничего против BSDL новой редакции, где отменён пункт, делающий эту лицензию полностью проприетарной.

maxkit> В BSD, например, никто не жалуется, просто планомерно выпиливают всё GPL из системы.

Отнюдь. Ещё как жалуются и плачут, так как фанатики BSD испытывают сверхсильную ненависть к GPL вообще и к GNU в частности (что интересно - к проприетарщине они относятся зачастую спокойно. Только Тео и ко. орут. Но они орут на всех.). Но тут появилась Apple, и кинула свой огрызок.

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

>Будет совсем хорошо когда ядро Linux будет запускаться поверх LLVM.

Ты про что? В прошлом топике про LLVM говорили - «байткод» LLVM _уже_ привязан к платформе. Т.е. один фиг на каждой платформе нужна стадия компиляции исходник -> байткод|натив. Нак нафига?

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

baka-kun> LGPL разрешает производную работу распространять под более жесткой GPL, но никаких прав на смену лицензии она не передает.

Тяжёлый случай... Пациент, да Вы оказывается халявщик и копираст-проприетарщик в одном флаконе.

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

maxkit> apache финансируется крупными корпорациями, в том числе «ненавидимой» Столманом Microsoft. Как Вы думаете, если бы apache не финансировали, был бы этот продукт продуктом того же качества, что мы имеем сейчас? И прежде, чем начать ссылаться на nginx - пожалуйста посмотрите, какая лицензия там.

Apache не имеет аналогов. И попытки форкнуть его и разрабатывать самостоятельно обречены.
Аналогично X11 - уже X-серверы от Sun и других контор давно загнулись (даже XAppeal успешно сдох, а DesqView/X вообще мертворождённой была).

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

>Мы сейчас не про пиратство говорим если что.

Ты читать умеешь? Русским написано «скачать с офсайта». Или уже скачивание GPLv2 программы стало пиратством?

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

Меня, как разработчика, это вообще не должно волновать. А теперь посмотри внимательнее табличку. С либами LGPLv3 вполне себе можно линковать проприетарщину, а вот свою родную GPLv2 only нельзя. Как видишь, пропиетарщики оказались в более выгодном положении, чем свободный программист, который выбрал одну лицензию.

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

baka-kun> Как бы почти не весь уже.

Насчёт Webkit не скажу точно, но CUPS они не переписывали.

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

maxkit> Они сделали FreeBSD, apache, x11, webkit и очень многие другие продукты.

Ты наркоманище! Во-первых BSD и X11 - проекты изначально академические. Во-вторых Apache - проект уникальный. В третьих Webkit - это KHTML. И вообще он под GPL.

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

> Ты читать умеешь? Русским написано «скачать с офсайта». Или уже скачивание GPLv2 программы стало пиратством?

Если я скачал чью-то программу и установил ее себе, это значит, что я пользуюсь плодами его творчества и признаю это (а открытые лицензии как раз разрешают свободное пользование). А вот если я пришел и присвоил это себе, то это значит, что болт я клал на создателя программы. И если GPL тут хоть как-то защищает автора, то BSD выгоднее как раз тем самым проприетарщикам.

А про пиратство я упомянул в свете того, что мы говорим не о скачивании чео-либо, а присвоение прав на это что-то себе.

Либами LGPLv3 вполне себе можно линковать проприетарщину, а вот свою родную GPLv2 only нельзя. Как видишь, пропиетарщики оказались в более выгодном положении, чем свободный программист, который выбрал одну лицензию.

А теперь мы выясняем кто на самом деле читать не умеет. Там про линковку не написано ни слова. Там написано про «скопировать кусок кода из одной программы и вставить в другую». Линковать LGPL можно с чем угодно. А вот код использовать методом копи-паста можно только с совместимыми лицензиями. И если я возьму код LGPL и вставлю его в свой продукт GPL, то получится, что ограничение на линковку с проприетарщиной, которое автор кода решил снять , я установлю, тем самым нарушив первоначальные условия лицензии.

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

> И вообще он под GPL.

Под LGPL, иначе бы сафари был опенсурсным %)

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

>Если архитектура старой программы признаётся неисправимо плохой.

Не признается. Особенно если она в продакшене и есть прикормленные заказчики. (ПМы перед приездом представителя заказчика проводят инструктаж a)«Что говорить, если спросят» б)«чего ни в коем случае не говорить» в) «в каких случаях делать искренне удивленное лицо и обещать это исправить в новой версии») И в плане реюза - берется то же + сбоку придеолывается какая-то новая «фишка» за отдельные бабки с новой торговой маркой... Подпорки из велосипедов все равно никто не видит.

slackwarrior 😊😊😊
()
Ответ на: комментарий от EvilBlueBeaver

>А вот если я пришел и присвоил это себе, то это значит, что болт я клал на создателя программы.

Почитай BSD и больше так не фонтанируй.

И если GPL тут хоть как-то защищает автора, то BSD выгоднее как раз тем самым проприетарщикам.

И как GPL защищает автора? Мне просто интересно. Какие могут быть интересы у автора, выложившего весь свой код в открытый доступ с возможностью модификации/перепродажи и т.п.. Лучше перечисли их.

то BSD выгоднее как раз тем самым проприетарщикам.

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

Линковать LGPL можно с чем угодно.

Прикидываешься тут идиотом? Сходи по ссылке и посмотри с чем можно, а с чем нельзя. И вообще, речь шла про невозможность линковки GPLv2 only с LGPLv3. Это куда хуже, чем проприетарщик, который втихаря поимел 2 килобайта моего быдлокода.

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

> И как GPL защищает автора? Мне просто интересно. Какие могут быть интересы у автора, выложившего весь свой код в открытый доступ с возможностью модификации/перепродажи и т.п.. Лучше перечисли их.

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

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

Каким образом они будут от вас зависеть? Я захотел, взял ваш код, встроил его в свою прогу, закрыл его, сделал с ним,что угодно и продаю. Чем вы меня можете ограничить? Если проект под BSD, то ничем. И я вам ничем не обязан, я просто взял и все, а то, что вы там что-то писали никого не волнует.

Прикидываешься тут идиотом? Сходи по ссылке и посмотри с чем можно, а с чем нельзя. И вообще, речь шла про невозможность линковки GPLv2 only с LGPLv3. Это куда хуже, чем проприетарщик, который втихаря поимел 2 килобайта моего быдлокода.

Еще раз повторяю, связывать свои программы, написанные под любой лицензией, можно с любой либой написанной под LGPL. Единственное ограничение - связывание должно быть динамическим. То есть если у вас есть готовая .so-шка под LGPL, то юзайте ее как вашей душе угодно. А вот если это не .so-шка, а .a-шка, то тут как раз и действуют те самые ограничения.

За сим не вижу смысла кормить вас дальше.

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

> В третьих Webkit - это KHTML.

отпочкавался много лет назад... и большей частью переписан яблоками

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

> Не бесплатно, а именно нахаляву.

А как им пользуются сейчас под GPL?

Если проект под BSD, то ничем.

Только ценой регулярного слияния форка и основного дерева. Обычно это не выгодно. Так что все изменения, которые делают они, они делают и в твою ветка. А то, что они смогли встроить в свою закрытую программу - это даже хорошо. Это расширяет пользователей твоего кода.

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

Делись @ Дополняй

т.е. выпуская софт под BSD ты становишься бесполезным? :-)

Т.е. выпуская ПО под BSD я не стимулирую проприетарщиков продолжать делиться и дополнять.

Camel ☕☕☕
()
Ответ на: комментарий от sv75

> Как я понимаю, Webkit открыли как раз в силу лицензии LGPL на KHMTL и только поэтому.

Darwin, GrandCentral и еще куча всего тоже из-за первоначальной лицензии? При условии, что последний вообще вырос в недрах яблока. Они же умные, они не закрывают все

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

> А вот Darwin они сейчас в каждой версии закрывают, добавляя свои компоненты и называя полученную ОС Mac OS X.

Достаточно много новых компонентов имеют BSD лицензию

Или, к примеру, CUPS - просто форкнут, и форк будет популярнее, а Apple пойдёт в жопу.

Куда извините? Он на apple будет работать? Будет. А когда бы там появилось полноценное управление цветопространством, если не apple? Ибо программистам это не надо, а яблокам обязательно

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

>Интересы могут быть очень простыми - нежелание, чтобы твоим кодом пользовались нахаляву. Не бесплатно, а именно нахаляву.

Объясни мне тупому, чем «бесплатно» отличается от «нахаляву».

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

Ну и какие проблемы? Я это разрешил. GPL тоже разрешает продавать и использовать проги для любых коммерческих целей. Да, и ты так и не читал BSD.

Еще раз повторяю, связывать свои программы, написанные под любой лицензией, можно с любой либой написанной под LGPL.

Кто табличку видел? Посмотри ещё раз. А то уже честно уже надоел твой воинствующий ламеризм. Там даже для тупых написано I want to release a project under: GPLv2 only -> I want to use a library under GPLv3 и LGPLv3 стоит No.   

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

>Не нужно переворачивать факты. Во-первых, Вы не покупаете в магазине, а Вам дают даром.

Качеством дарёного тоже нужно поинтересоваться, крыс вон тоже конфетами и пряниками на халяву кормят.

Вам дают вместе с исходниками

В ГПЛ да, с ВСДЛ не обязательно.

Блобами, наверное, не сильно боитесь отравиться, а то, из чего только _могут_ сделать блоб - боитесь. Это извращённая логика.

Разница в маштабах и возможностях. А во вторых, когда-нибудь навороченные хелловорлды под лицензией БСДЛ научится строчить и робот Вася и всем раздавать, в принудительном порядке. А на просьбу показать исходники пошлёт всех за машинным маслом, бо лицензия это позволяет.

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

> А как им пользуются сейчас под GPL?

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

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

Только ценой регулярного слияния форка и основного дерева. Обычно это не выгодно. Так что все изменения, которые делают они, они делают и в твою ветка. А то, что они смогли встроить в свою закрытую программу - это даже хорошо. Это расширяет пользователей твоего кода.

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

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

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

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

>Не понимаю этой жабы (вернее, наверное, «собаки»): «А-а-а, они закроют мой код и заработают на нём деньги там, где я, лох, не смог. Так хрен им».

Вот жеж в точку! Я тоже никак не пойму...

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

Рынок не помогает.

Это делает за тебя рынок

Не всегда. FreeBSD R.I.P., Net*, Open*, все прочие тоже не главные тренды сезона.

Camel ☕☕☕
()
Ответ на: комментарий от EvilBlueBeaver

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

4.2. Права на авторство не отчуждаемы. Трехпунктовая BSD вобще обязывает указывать авторов в About продукта и/или в документации.

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

Здрасьте, давно уже есть и проверки диапазона массивов и многое другое.

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

> Выбрав GPL ты запрещаешь использовать свой продукт в не GPL проектах.

Спасибо, кэп. Я в курсе :)

Но ничто не запрещает вынести функции в отдельную библиотеку под LGPL и использовать эти библиотеку откуда угодно и как угодно. Но саму библиотеку никто втихаря модифицировать не сможет.

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

>Выбрав GPL ты запрещаешь использовать свой продукт в не GPL проектах

И даже в некоторых под GPL.

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

>Но ничто не запрещает вынести функции в отдельную библиотеку под LGPL и использовать эти библиотеку откуда угодно и как угодно.

Кроме GPLv2 only и LGPLv2.1 only

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

>Так ведь хочется заюзать анализатор кода от компилятора в IDE для генерации варнингов, подсветки синтаксиса, статического анализа кода.

А в чем проблемы? Конечно придется немного напильником пройтись но исходники все на C и вполне себе неплохо организованы. Тем более что не весь же gcc тащить а только его g++ часть из которой нужен лишь cp.

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

> 4.2. Права на авторство не отчуждаемы. Трехпунктовая BSD вобще обязывает указывать авторов в About продукта и/или в документации.

Это обязывает делать 4-пунтковая олдовая лицензия

Цитата: 3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

This product includes software developed by the <organization>.

Если я неправ - поправьте меня.

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

> Кроме GPLv2 only и LGPLv2.1 only

Батенька, да вы идиот.

* sys-libs/glibc

Latest version available: 2.12.1-r1

Latest version installed: 2.12.1-r1

Size of downloaded files: 15,387 kB

Homepage: http://www.gnu.org/software/libc/libc.html

Description: GNU libc6 (also called glibc2) C library

License: LGPL-2

То есть существование программ под GPL по вашему невозможно в принципе, поскольку всем (ну не всем, но большинству) им придется юзать glibc?

EvilBlueBeaver
()
Ответ на: Рынок не помогает. от Camel

> FreeBSD R.I.P., Net*, Open*, все прочие тоже не главные тренды сезона.

Да ладно. Не RIP. Как минимум область для академических инструментов

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

> А в чем проблемы?

IDE хочется закрытую иметь.

Тем более что не весь же gcc тащить а только его g++ часть из которой нужен лишь cp.

у gcc нет статического анализа. а obj-c достаточно динамичен

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

> GPL не перелецензиурется в LGPL

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

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

> Кроме GPLv2 only и LGPLv2.1 only

Батенька, да вы идиот.

Это вы так о себе? самокритично.. glibc имеет LGPL v 2.1 or later - а не LGPL v2.1 only.. учим дальше матчасть.

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

>Подумаешь бином ньютона. Вот когда он научится поддерживать стандарт C++, хотя бы предыдущий (чего кстати gcc не умеет), можно будет выкидывать gcc.

Вот когда он научится поддерживать стандарт C++, хотя бы предыдущий (чего кстати <your favorite compiler> не умеет)...

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

> Вот когда он научится поддерживать стандарт C++, хотя бы предыдущий (чего кстати gcc не умеет), можно будет выкидывать gcc.

опять гелий протекает? заморозить обратно

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

>При этом есть интересная особенность. компания, создатель проекта, может в любой момент отпочкавать закрытую ветку, если надо, но основанную на октрытой. А если это будет GPL, то все будет переписано заново.

Да ну? А как же MySQL Enterprise?

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

>4.2. Права на авторство не отчуждаемы. Трехпунктовая BSD вобще обязывает указывать авторов в About продукта и/или в документации.

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

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