В 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, Бекендът е генераторът на код, който поддържа повече CPU архитектури от 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 каза той

    Страхотно, надявам се внедряването да е полезно за много програмисти.