З минулого року стало можливим зібрати основну гілку ядра x86_64 Linux за допомогою компілятора Calng з набору LLVM. Тепер же в оновленій системі Kbuild для ядра Linux 5.7 цей процес став значно простіше — досить привласнити змінної LLVM значення 1 і для компіляції ядра буде задіяний Clang і все утиліти LLVM замість традиційних GCC і Binutils.
Параметр LLVM = 1 може бути переданий з командного рядка або як змінна оточення.
Єдиний виняток полягає в тому, що асемблер зі складу LLVM не використовуватиметься за умовчанням, так як в ядрі все ще є деякі проблеми з його підтримкою. Проте, оновлений Kbuild для Linux 5.7 також включає змінну LLVM_IAS = 1 для задіяння інтегрованого асемблера, який поки все ще вважається експериментальним. У будь-якому випадку нові параметри дозволяють дуже легко перейти до використання стека компіляторів на основі LLVM для збірки ядра.
Що вийшла недавно десята версія LLVM отримала масу оновлень — екосистема навколо LLVM розширюється, а популярність проекту тільки зростає. Звичайно, навряд чи ми найближчим часом побачимо повний «переїзд» і відмова від GCC. Втім, інша відкрита ОС, FreeBSD вже зробила крок у цьому напрямку: з дерева вихідних кодів видалені GCC і супутні утиліти, а для збірки для платформ, які не готові до Clang, доведеться використовувати вже зовнішній інструментарій.
В Linux 5.7 кардинально спростили складання ядра за допомогою LLVM: 1 комментарий