LINUX.ORG.RU

Сообщения Zloddey

 

[ВНЕЗАПНО] Clang собирает Linux

Форум — Talks

В список рассылки cfe-dev пришло письмо с описанием успешного эксперимента по сборке ядра Linux с помощью компилятора Clang.

Специально для Ъ переведу часть письма (disclaimer: перевод неполный и местами достаточно вольный; правильнее даже назвать его пересказом):

Clang компилирует работающее ядро Linux (версия 2.6.36, SMP).

Общие детали

============

* Разработка и тестирование проводились на Macbook 5.1 (Intel C2D, x85_64) под управлением Debian GNU/Linux

* Ядро успешно загружается до runlevel 5 (X + сеть) на макбуке - как на настоящем железе, так и в qemu

* Ядро успешно загружается до runlevel 3 на второй тестовой машине, microATX desktop box (Intel Atom). Запустить X на этой машине мне пока что не удалось

* Ядро собирает само себя; в данный момент я работаю на «четвёртом поколении» самосборного Linux, собранного с помощью «четвёртого поколения» Clang

Основные успешно собранные подсистемы

=====================================

* Ключевые части ядра, файловые системы, шины, PCI, ACPI - не столкнулся ни с какими проблемами. Хотя стресс-тестирования не проводил.

* SMP, SMT, SysV, pthreadsm Posix IPC - тщательно протестированы и в основном работают нормально (есть некоторые проблемы с многозадачностью в user-mode).

* NUMA, swap, mm, аллокатор slab - с памятью всё хорошо, утечек по результатам тестирования не найдено

* Сеть (IPv4) - IPv4 работает нормально, за исключением IPSec. Netfilter и IPv6 независимо друг от друга вызывают зависания, однако есть идеи, как их можно пофиксить.

* Драйвера и firmware - в целом, ведут себя хорошо. Однако есть проблемы с драйверами, использующими криптографию (даже базовые процедуры ядра по вычислению crc). По крайней мере, удалось собрать и запустить (на макбуке) следующие драйвера:

** Графика и звук, вплоть до работающего под Flash видео

** Клавиатура. Не мигают светодиоды, но они и не нужны.

** DVD/CDROM

** Тычпад

** Всякие USB-штуки

** iSight

** Спикер

Менее важные подсистемы, которые не удалось собрать

===================================================

Возможно, какие-то из этих проблем были вызваны моими хаками в Clang, Linux или же конфигом ядра Linux. Что-то также мог забыть упомянуть.

* SELinux, Posix ACLs, IPSec, eCrypt и всё, что использует API для криптографии. В основном проблемы возникают из-за массивов переменной длины, которые используются в ряде структур - такое вот расширение GNU, не поддерживаемое другими компиляторами.

* IPv6 и Netfilter. Часть проблем с ними вызвана криптографией, а часть своя собственная.

* Виртуализация. Пока просто не собирается.

Проблемы, решаемые компиляцией с помощью GCC

============================================

* VDSO. При сборке с помощью Clang непонятным образом падает. При сборке с GCC работает.

* Boot. Код для первых шагов загрузки не собирается clang'ом (мешает инлайновый ассемблер, ещё одни расширения GNU). Проблема локализована, но пока что не ясно, как её решать.

Существенные проблемы

=====================

* Модули. Не загружаются. Примерно понятно, как это можно исправить, но работы придётся сделать довольно много.

В общем, автор полон энтузиазма и готов продолжать работать дальше. Он собирается поднять и поддерживать репозиторий, содержащий патчи, необходимые для сборки ядра clang'ом, и вообще хочет добиться production-уровня качества собираемого ядра. Ну и самому clang тоже достанутся плюшки патчи.

К обсуждению приглашаются эксперты, желающие высказать авторитетное мнение относительно данной истории успеха, личности автора/переводчика, нужности/ненужности Clang, GCC, Linux, FreeBSD, Apple, RMS, выпивки, женщин, блэкджека и далее по списку.

Источник

 

Zloddey
()

[bugreport] Не моё уведомление

Форум — Linux-org-ru

Ссылка на сообщение внезапно пришла в «Мои уведомления». Хотя я не писал в эту тему, не подписывался на неё, и, кажется, вообще даже не заходил.

 

Zloddey
()

Oracle подал в суд на Google за использование Java на Android

Новости — Java
Группа Java

Компания Oracle выпустила пресс-релиз, в котором обвинила Google в нарушении 7 принадлежащих Oracle патентов, связанных с технологией Java. Никаких деталей относительно сущности патентов поглотитель Sun пока что не раскрывает. Однако можно предположить, что они касаются виртуальной машины Андроида Dalvik и Android SDK.

Известно, что Google использует в своих наработках по Андроиду библиотеки проекта Apache Harmony, свободной реализации Java SE под лицензией Apache. К этому проекту у Sun были претензии даже ещё до покупки со стороны Oracle.

Как сообщает пресс-релиз Oracle, "Разрабатывая Android, Google заведомо, прямо и неоднократно ущемлял принадлежащие Oracle права на интеллектуальную собственность. Этот судебный иск ищет возмездия за нарушения."

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

 , , , , , ,

Zloddey
()

RSS подписка на новые темы