У GCC вони схвалили впровадження RUST (gccrs)

Нещодавно новина про це заявила Керівний комітет GCC схвалив включення реалізації gccrs (GCC Rust) із компілятора Rust у ядрі GCC.

З ним GCC (Колекція компіляторів GNU) вже є бекенд для Rust, через проект під назвою rustc_codegen_gcc, заснований Антоні Буше. Він досі описується як незавершений, але він був об’єднаний у основне сховище Rust у вересні 2021 року.

Для тих, хто не знає мови Іржа, вони повинні знати, що єe фокусується на безпечному управлінні пам'яттю і забезпечує засоби для досягнення високого рівня паралельності роботи. Безпечна обробка пам’яті, яка виключає такі помилки, як доступ до області пам’яті після її звільнення, розіменування нульових покажчиків і переповнення меж буфера, досягається в Rust під час компіляції шляхом перевірки посилань, відстеження власності на об’єкт, обліку тривалості життя об’єктів (області ), а також оцінка коректності доступу до пам'яті під час виконання коду.

Іржа також забезпечує захист від цілочисельного переповнення, вимагає ініціалізації змінних перед використанням, краще обробляє помилки в стандартній бібліотеці, забезпечує застосування концепції посилань і незмінних змінних за замовчуванням.

Після інтеграції інтерфейсу стандартний GCC його можна використовувати для компіляції програм Rust без необхідності встановлення компілятора rustc, створеного зі збірками LLVM.

З листопада 2020 року я постійно працюю над інтерфейсом Rust для GCC завдяки Open Source Security, Inc і Embecosm. У зв’язку з цим я пишу до цього списку розсилки, щоб завчасно отримати відгуки від спільного досвіду, щоб спланувати шлях до завантаження інтерфейсу до GCC.

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

Це означає, що компілятор Rust, rustc, можна використовувати з серверною частиною GCC, Сервер — це генератор коду, який підтримує більше архітектур ЦП, ніж LLVM, звичайний бекенд-компілятор Rust, хоча існують обмеження, такі як вимога виправленої версії GCC.

Альтернативою є повний інструментарій GCC. У січні 2021 року компанія Open Source Security, Inc., виробники посиленої версії ядра Linux під назвою Grsecurity, заявила, що фінансуватиме «публічну розробку» інтерфейсу GCC для Rust на тій підставі, що він покращує безпеку. змішувати різні компілятори.

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

Компанія процитувала статтю, в якій показано, «як можна знизити загальну безпеку середовища виконання шляхом впровадження коду, написаного Rust або іншою мовою, де компілятор не забезпечує таку ж безпеку на бінарному рівні».

Заохочуємо розробників gccrs розпочати співпрацю з групами рецензентів і GCC Change Release для завершення та схвалення виправлень щодо відповідності технічним вимогам до коду, який буде додано до GCC.

Припускаючи, що розробка gccrs триває за планом і не виявлено непередбачених проблем, інтерфейс мови Rust буде інтегрований у випуск GCC 13, запланований на травень наступного року. Реалізація Rust у GCC 13 перебуватиме в статусі бета-версії, ще не ввімкнена за замовчуванням.

В кінці кінців якщо вам цікаво дізнатись більше про це про проект ви можете ознайомитися з деталями в за наступним посиланням.


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

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

*

*

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

  1.   qtrit - сказав він

    Чудово, я сподіваюся, що реалізація буде корисною для багатьох програмістів.