Ядро Linux 2.6.36 зібрали за допомогою Clang

Брюс Лебах (Bryce Lelbach) повідомив про те, що йому вдалося зконфігурувати, зібрати, і успішно завантажитись з ядра Linux венрсії 3.6.36 за допомогою компілятора Clang, що базується на LLVM.

На жаль, під час компіляції виник цілий ряд проблем, у зв'язку з чим, для успішного завантаження системи довелося використати програмне забезпечення зібране за допомогою GCC:

«SELinux, Posix ACLs, IPSec, eCrypt, будь що, що використовує crypto API — нічого з цього не збереться за допомогою Clang, в основному через масиви змінної довжини у структурах...»

Загальні деталі
  • Збірка і тестування проводились на Macbook 5.1 (Intel C2D, x86_64) та Debian GNU/Linux.
  • Ядро успішно перейшло на рівень виконання 5 (X + мережа) на Macbook та на Qemu.
  • Ядро успішно перейшло на рівень виконання 3 на тестовій машині на базі процесора Intel Atom.
  • The kernel can self-host; I am currently running a «fourth generation» self-hosted Linux kernel built by a «fourth generation» Clang.

Я хочу дізнатись більше деталей