LINUX.ORG.RU

Продемонстрирован запуск openSUSE с ядром Linux, собранным при помощи Clang

 , , ,


0

2

Разработчики openSUSE представили видеоролик, на котором продемонстрирован процесс загрузки и работы дистрибутива в графическом окружении, при использовании ядра Linux, собранного с использованием компилятора Clang вместо GCC. Сборка осуществлена с задействованием наработок проекта LLVMLinux, развиваемом при участии организации Linux Foundation с целью решения проблем со сборкой ядра в Clang и продвижения созданных патчей в upstream-проекты (ядро Linux и LLVM/Clang).

Использование компилятора Clang, распространяемого под лицензией BSD, позволяет задействовать дополнительные техники оптимизации и диагностики проблем, например, автоматизировать выявление фактов разыменования указателей и других ошибок, связанных с некорректной работой с памятью. Изначально проект LLVMLinux развивался в рамках инициативы Linaro и был ориентирован на сборку ядра для платформы ARM, но месяц назад была обеспечена поддержка архитектур x86_64 и i586.

Для упрощения формирования сборочного окружения и кросс-компиляции ядра с использованием Clang и LLVM подготовлен специальный сборочный инструментарий.

Сборка ядра для архитектур i586 и x86_64 полностью работоспособна и позволяет получать рабочие системы, что демонстрирует пример openSUSE, но официально подобные ядра пока не готовы для применения в конечных продуктах.

Дополнительно налажен ежедневный процесс сравнительного тестирования при помощи пакета Linux Test Project (LTP) свежих сборок ядра, собранных с использованием GCC и Clang.

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

★★★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 1)

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

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

Например?

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

Неужто оно на 100% по стандарту языка написано, и его сможет любой канпелятор, который этот стандарт полностью реализует, собрать без проблем?

Нет, ядро крепко завязано на некоторые нестандартные расширения языка.

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

расскажи мне кто им ядро собирает, наверно ты?

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

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

Q: при чём тут время до загрузки initramfs и юзерспейс OpenSUSE?

A: Наверное, количество собранных модулей как-то коррелирует с временем, за которое ядро(само ядро) инициализирует оборудование и делает остальные необходимые операции до передачи управления в initramfs

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

Не тупи короче, я уже понял, что для опенсусе ты ядра канпелируешь :Р

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

Нет, ядро крепко завязано на некоторые нестандартные расширения языка.

А в каких компиляторах, кроме GCC, эти же нестандартные расширения присутствуют? И какие крупные проекты, кроме Linux, используют эти же нестандартные расширения? Или их таки держат только ради ядра?

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

Ядро (Linux the Kernel) вообще-то независимо от компиляторов и прочего

just lol

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

а скольки архитектур, по-твоему, должно хватить для всех

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

на самом деле в GCC есть некоторые нестандартные... нет, не костыли, а расширения специально для сокращения кода для драйверов в Linux, ну есть там такие места, я помню что читал про это

и чтобы ICC собрал собрал Linux - нужны GCC-extensions или как их называют

вот и в Clang так же

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от dmfd

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

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

Ну, если говорить не о десктопах и пользовательской технике, то на серверах и в сетевом оборудовании встречается довольно много разновидностей PowerPC, а ещё разные MIPS'ы, SPARC'и, ARM'ы, IBM'овские мейнфреймы, Itanium'ы.

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

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

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

ну креатор то цппшный да и распаралеливание которое в кланге ещё в проекте не нужно. а так перспективы у кланга больше чем наследие гцц.

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

не всем везёт, но о3 иногда наоборот портит производительность... такчто лучше подьирать (но да сам экстримлю и компиляю генту с клангом, а что не компилится добиваю драгонэгом.)

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

возникает вопрос: почему кернел завязан на compiler specific kludges?

1) потому что ядро дюже хитрая вещь. 2) потому что в стандарте есть не всё, что нужно людям.

sv75 ★★★★★
()

позволяет задействовать дополнительные техники оптимизации

ядро это не то место где нужна оптимизация.

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

я вангую что тут проблема в том как гцц паралелит компиляцию..

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

устранить ошибки

их сначала нужно найти. И это не ошибки, а приемы, не совместимые с экстремальными оптимизациями gcc

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

если тебе лень читать их рассылки, то мне тоже лень -_-

Thero ★★★★★
()

шёл 21 век, люди пытаются устранять ошибки для компиляции софта, сравнивают скорости компиляции и загрузку ведра. Вы когда работать то начнёте?

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

чтобы кричать «венда так не умеет»

anonymous
()

гляжу в треде много студоты с псевдо пониманием сабжа. и какието гнушные фанатики гцц.

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

возникает вопрос: почему кернел завязан на compiler specific kludges?

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

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

сейчас работаю в opensuse, скомпиленном gcc, и почему-то этот же gcc имеет свойство падать с make -j8 при компиляции QtCreator

А что ты ожидал от опенсусе?

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

потому что могут, взял обс залил сорцы ядра с сайта линаро запилил спек, забилдил, погонял в виртуалке сделал литтл фиксы, скачал на свой ноут образ из обс установил показал всем как запилить новые фичи в опенсусе за 1-2 дня.

Thero ★★★★★
()

Линаро медленно, но верно движется, развивая арм напрвление. Хотелось бы быстрей. Портабельность говорит о качестве кода. А на 86 архитектуре, разве плохо иметь альтернативы? Свобода выбора, однако. Здесь, кажется, большинство за свободу.

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

пока живы бравые ребята из GNU...

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

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

Фанатики завидуют тем, кто за свою работу получает деньги и боятся, что их код тоже кто-нибудь использует в своих проприетарных поделках за 100500 баксов. Самим то слабо. Для них свобода - это в первую очередь свобода от свободы.

delete83 ★★
()

интересная новость, спасибо!

очень часто в последнее время слышу про Clang, что не может не радовать)

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

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

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

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

а 19 сек на загрузку ядра - это эпик вин, ясчитаю

А с чего это минимум трёхкратное падение производительности это вин?

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

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

Полностью на чистом ANSI C ядро написать невозможно. Местами даже C для этого сильно высокоуровневый 8).

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от powerpc

Зато элементы конкуренции IMHO помогают. Пусть будет.

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

Омг.... У меня вся система с КДЕ быстрее грузится на четырех ядрах с HDD.

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