V GCC schválili implementáciu RUST (gccrs)

To nedávno prelomili správy riadiaci výbor GCC schválil zahrnutie implementácie gccrs (GCC Rust) z kompilátora Rust v jadre GCC.

S tým GCC (Kolekcia kompilátorov GNU) už majú backend pre Rust, prostredníctvom projektu s názvom rustc_codegen_gcc, ktorý založil Antoni Boucher. Stále sa opisuje ako nedokončená práca, ale v septembri 2021 bola zlúčená do hlavného úložiska Rust.

Pre tých, ktorí nevedia jazyk Hrdza, mali by vedieť čo jee sa zameriava na bezpečnú správu pamäte a poskytuje prostriedky na dosiahnutie vysokej paralelnosti práce. Bezpečná manipulácia s pamäťou, ktorá vylučuje chyby, ako je prístup k oblasti pamäte po jej uvoľnení, dereferencovanie nulových ukazovateľov a pretečenie hraníc vyrovnávacej pamäte, sa v Ruste dosahuje v čase kompilácie prostredníctvom kontroly referencií, sledovania vlastníctva objektov, zohľadnenia životnosti objektov (rozsahy ) a vyhodnocovanie správnosti prístupu do pamäte počas vykonávania kódu.

Hrdza tiež poskytuje ochranu proti pretečeniu celého čísla, vyžaduje inicializáciu premenných pred použitím, lepšie zvláda chyby v štandardnej knižnici, štandardne presadzuje koncepciu odkazov a nemenných premenných.

Po integrácii rozhrania ho v štandardnom GCC možno použiť na kompiláciu programov Rust bez potreby inštalácie kompilátora rustc zostaveného s zostavami LLVM.

Od novembra 2020 pracujem na plný úväzok na front-ende Rust pre GCC vďaka Open Source Security, Inc a Embecosm. V dôsledku toho píšem do tohto zoznamu adresátov, aby som čoskoro získal spätnú väzbu od kolektívnej skúsenosti, aby som naplánoval cestu k nahraniu front-endu do GCC.

Dôležitosť tohto projektu spočíva v jeho význame pre Linux, ktorý je vo všeobecnosti postavený na GCC, kde sa plány umožňujúce používať Rust spolu s C pre kód jadra z dôvodov bezpečnosti pamäte neustále napredujú.

To znamená, že kompilátor Rust, rustc, možno použiť s backendom GCC, Backend je generátor kódu, ktorý podporuje viac architektúr CPU ako LLVM, zvyčajný backend kompilátor Rust, aj keď existujú obmedzenia, ako napríklad požiadavka na opravenú verziu GCC.

Alternatívou je mať úplný reťazec nástrojov GCC. V januári 2021 spoločnosť Open Source Security, Inc, tvorcovia spevnenej verzie linuxového jadra s názvom Grsecurity, uviedla, že bude financovať „verejné úsilie o vývoj“ rozhrania GCC pre Rust, a to na základe toho, že zlepšila bezpečnosť. miešať rôzne kompilátory.

Z môjho pohľadu ako lídra v tomto front-ende sme v súčasnosti v intenzívnom vývoji, takže to znamená veľké množstvo rotácie kódu zatiaľ a nevidím, že by sa to zmenilo, kým sa nám nepodarí úspešne skompilovať libcore box neskôr v tomto roku. Aj keď by som sa rád videl zlúčené do GCC 13, chcem sa uistiť, že tento projekt bude úspešný všetko, a to by mohlo znamenať návrat do ďalšieho okna vydania aby ste sa uistili, že je to zvládnuteľné, aby sa vytvoril kvalitný front-end na sedenie úklady ostatným.

Spoločnosť citovala dokument, ktorý ukazuje, "ako možno znížiť celkovú bezpečnosť runtime prostredia zavedením kódu napísaného v Ruste alebo inom jazyku, kde kompilátor neposkytuje rovnakú úroveň zabezpečenia na binárnej úrovni."

Vývojárom gccrs sa odporúča, aby začali spolupracovať s kontrolnými tímami a GCC Change Release na dokončenie a schválenie záplat, pokiaľ ide o splnenie technických požiadaviek na kód, ktorý sa má pridať do GCC.

Za predpokladu, že vývoj gccrs bude pokračovať podľa plánu a nebudú zistené žiadne nepredvídané problémy, front-end jazyka Rust bude integrovaný do vydania GCC 13 naplánovaného na máj budúceho roka. Implementácia Rust v GCC 13 bude v stave beta, zatiaľ nie je predvolene povolená.

Konečne ak máte záujem dozvedieť sa o tom viac o projekte, podrobnosti si môžete pozrieť v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   qtrit dijo

    Skvelé, dúfam, že implementácia bude užitočná pre mnohých programátorov.