gccrs буде інтегровано в GCC 13

gccrs

gccrs — це повна альтернативна реалізація мови Rust поверх GCC

Нещодавно стало відомо, що проект gccrs, метою якого є надання інтерфейсу мови Rust для GCC (GNU Compiler Collection), на шляху до інтеграції в GCC 13.  На конференції розробників FOSDEM на початку цього місяця інженер Артур Коен виступив з презентацією про gccrs, в якій описав поточний стан роботи.

Для тих, хто не знає про проект gccrs, вони повинні знати, що це так повна альтернативна реалізація мови Rust поверх GCC з метою стати повністю інструментальним ланцюгом GNU.

Походження цього проекту є зусиллями спільноти кілька років тому, коли Rust був ще у версії 0.9; мова, створена Mozilla, зазнала стільки змін, що спільноті стало важко наздогнати її.

Тепер, коли мова стабільна, настав час створити альтернативні компілятори:

«Розпочато в 2014 році (і перезапущено в 2019 році), зусилля тривають з 2020 року, і ми доклали багато зусиль і значно прогресували. Ми завантажили першу версію gccrs у GCC. Отже, наступного разу, коли ви встановите GCC 13, у ньому буде gccrs.

Ви можете використовувати його, ви можете почати його зламувати, ви можете повідомити про проблеми, коли він неминуче виходить з ладу та жахливо вмирає. Одна велика річ, яку ми робимо, — це робота над тим, щоб набір тестів rustc працював», — сказав Артур Коен під час своєї презентації на конференції FOSDEM на початку цього місяця.

Можливість успішного запуску набору тестів компілятора rustc також залишається метою. За словами Коена, Інтерфейс GCC Rust також вказує на старішу версію Rust libcore 1.49.

У поширених питаннях проекту gccrs зазначено, що в усіх технологіях збірки LLVM, які використовує Rust, «не вистачає деяких GCC-сумісних серверних програм, тому реалізація gccrs може заповнити прогалини для використання у вбудованій розробці".

Зауважте, однак, що компілятор Rust-GCC (gccrs) все ще знаходиться на дуже ранній стадії і поки не може використовуватися для компіляції реальних програм Rust.

Минулого липня команда GCC проголосувала за схвалення інтеграції gccrs як набір збірок. Важливість цього проекту полягає в його важливості для ядра Linux. Насправді ядро ​​Linux зазвичай створюється за допомогою GCC, але плани дозволити використовувати мову Rust разом із C для коду ядра з міркувань безпеки пам’яті постійно просуваються.

Проект «Rust для Linux» офіційно об’єднався в основне дерево Linux 6.1 Git у жовтні минулого року, зробивши Rust другою мовою розробки Linux після 31 року розробки виключно на основі C.

«Ми хочемо, щоб gccrs був справжнім компілятором Rust, а не іграшковим проектом чи чимось, що компілює мову, яка виглядає як Rust, але не є Rust; ми дійсно намагаємося, щоб цей набір тестів працював», – додав він. Під час презентації Коен також сказав, що, незважаючи на те, що інтерфейс Rust GCC 13 має хороший старт, попереду ще багато роботи. Позичений код підтвердження наразі помітно відсутній, підтримка вбудованих і внутрішніх модулів все ще триває, а важлива віха компіляції коду Rust для Linux ще не досягнута.

Нагадаємо, проект «Rust для Linux» має на меті ввести нову мову системного програмування в ядро ​​Linux. На думку експертів, мова Rust має ключову властивість, яка робить її дуже цікавою для розгляду як другої мови ядра Linux: вона гарантує відсутність невизначеної поведінки (якщо незахищений код розумний).

Це включає відсутність таких помилок, як використання після звільнення, подвійне звільнення, перегони даних тощо. Відповідні дебати точаться навколо можливості відмови від C на користь мови Rust. Але Лінус Торвальдс, творець Linux, сказав, що це не є заявленою метою проекту Rust для Linux.

Нарешті, Варто зазначити, що хоча інтерфейс gccrs було об’єднано для наступної версії GCC 13, він ще не в такому стані, коли більшість розробників Rust можуть його використовувати як альтернативу офіційному компілятору LLVM від Rust.

Це має бути не раніше наступного року, принаймні з GCC 14.

Фуенте: https://fosdem.org/


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.