V GCC schválili implementaci RUST (gccrs)

Nedávno to zprávy prolomily řídící výbor GCC schválil zahrnutí implementace gccrs (GCC Rust) z kompilátoru Rust v jádře GCC.

S tím GCC (GNU Compiler Collection) již mají backend pro Rust, prostřednictvím projektu s názvem rustc_codegen_gcc, který založil Antoni Boucher. Stále je popisován jako nedokončená práce, ale v září 2021 byl začleněn do hlavního úložiště Rust.

Pro ty co neumí jazyk Rez, měli by vědět, co jee se zaměřuje na bezpečnou správu paměti a poskytuje prostředky k dosažení vysoké paralelnosti práce. Bezpečné zacházení s pamětí, které vylučuje chyby, jako je přístup k oblasti paměti po jejím uvolnění, dereferencování nulových ukazatelů a přetečení mezí vyrovnávací paměti, je v Rustu dosaženo v době kompilace prostřednictvím kontroly odkazů, sledování vlastnictví objektů, zohlednění životnosti objektů (rozsahy ) a vyhodnocení správnosti přístupu do paměti během provádění kódu.

Rez také poskytuje ochranu proti přetečení celého čísla, vyžaduje inicializaci proměnných před použitím, lépe zpracovává chyby ve standardní knihovně, standardně prosazuje koncept odkazů a neměnných proměnných.

Po integraci rozhraní jej lze ve standardním GCC použít ke kompilaci programů Rust bez nutnosti instalace kompilátoru rustc sestaveného s sestaveními LLVM.

Od listopadu 2020 pracuji na plný úvazek na front-endu Rust pro GCC díky Open Source Security, Inc a Embecosm. V důsledku toho píši na tento seznam adresátů, abych brzy požádal o zpětnou vazbu od kolektivních zkušeností zde a naplánoval cestu k nahrání front-endu do GCC.

Důležitost tohoto projektu spočívá v jeho důležitosti pro Linux, obecně postavený s GCC, kde se plány umožňující použití Rustu spolu s C pro kód jádra z důvodů bezpečnosti paměti neustále posouvají kupředu.

To znamená, že kompilátor Rust, rustc, lze použít s backendem GCC, Backend je generátor kódu, který podporuje více architektur CPU než LLVM, obvyklý backendový kompilátor Rust, i když existují omezení, jako je vyžadování opravené verze GCC.

Alternativou je mít úplnou sadu nástrojů GCC. V lednu 2021 společnost Open Source Security, Inc, tvůrci posílené verze linuxového jádra s názvem Grsecurity, uvedla, že bude financovat „veřejné úsilí o vývoj“ rozhraní GCC pro Rust s odůvodněním, že zlepšila zabezpečení. míchat různé kompilátory.

Z mého pohledu jako lídra v tomto front-endu jsme v současnosti pod intenzivním vývojem, takže to znamená velké množství rotace kódu přesto a nevidím, že by se to změnilo, dokud se nám nepodaří úspěšně zkompilovat libcore box později v tomto roce. I když bych se rád viděl sloučeny do GCC 13, chci se ujistit, že tento projekt bude úspěšný vše, a to by mohlo znamenat návrat do dalšího okna vydání abychom se ujistili, že je to zvládnutelné, abychom vytvořili kvalitní front-end k sezení úklady ostatním.

Společnost citovala dokument, který ukazuje, "jak lze snížit celkovou bezpečnost běhového prostředí zavedením kódu napsaného v Rustu nebo jiném jazyce, kde kompilátor neposkytuje stejné zabezpečení na binární úrovni."

Vývojáři gccrs se vyzývají, aby začali pracovat s týmy pro hodnocení a GCC Change Release k dokončení a schválení záplat, pokud jde o splnění technických požadavků na kód, který má být přidán do GCC.

Za předpokladu, že vývoj gccrs bude pokračovat podle plánu a nebudou identifikovány žádné nepředvídané problémy, front-end jazyka Rust bude integrován do vydání GCC 13 plánované na květen příštího roku. Implementace Rust v GCC 13 bude ve stavu beta, ve výchozím nastavení ještě není povolena.

Konečně pokud máte zájem o tom vědět více o projektu, podrobnosti můžete konzultovat v následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   qtrit řekl

    Skvělé, doufám, že implementace bude užitečná pro mnoho programátorů.