gccrs kommer att integreras i GCC 13

gccrs

gccrs är en komplett alternativ implementering av Rust-språket över GCC

Det avslöjades nyligen gccrs-projektet, vars mål är att tillhandahålla ett gränssnitt för Rust-språket till GCC (GNU Compiler Collection), är på väg att integreras i GCC 13.  Vid FOSDEM-utvecklarkonferensen tidigare denna månad höll ingenjör Arthur Cohen en presentation om gccrs som beskrev det aktuella läget för arbetet.

För de som inte är medvetna om gccrs-projektet borde de veta att detta är en komplett alternativ implementering av Rust-språket ovanpå GCC med målet att bli GNUs verktygskedja fullt ut.

Ursprunget till detta projekt är en gemenskapsinsats för flera år sedan, när Rust fortfarande var i version 0.9; språket skapat av Mozilla var föremål för så många förändringar att det blev svårt för en gemenskapsinsats att komma ikapp.

Nu när språket är stabilt är det dags att skapa alternativa kompilatorer:

"Startade 2014 (och återlanserades 2019), har insatsen pågått sedan 2020 och vi har gjort mycket ansträngningar och stora framsteg. Vi har laddat upp den första versionen av gccrs i GCC. Så nästa gång du installerar GCC 13 kommer den att ha gccrs inuti.

Du kan använda den och du kan börja hacka den, du kan rapportera problemen när den oundvikligen kraschar och dör fruktansvärt. En stor sak vi gör är att arbeta med att få rustc-testsviten att fungera”, sa Arthur Cohen under sin presentation på FOSDEM-konferensen tidigare denna månad.

Möjligheten att framgångsrikt köra rustc-kompilatortestsviten förblir också ett mål. Enligt Cohen, Rusts GCC-gränssnitt pekar också på äldre Rust libcore 1.49.

Gccrs-projektets FAQ noterar att alla LLVM-byggtekniker, som används av Rust, "saknar några GCC-kompatibla backends, så en gccrs-implementering kan fylla i luckorna för användning i inbäddad utveckling".

Observera dock att Rust-GCC-kompilatorn (gccrs) fortfarande är i ett mycket tidigt stadium och ännu inte kan användas för att kompilera faktiska Rust-program.

GCC-teamet röstade i juli förra året för att godkänna gccrs-integreringen som en byggsvit. Vikten av detta projekt ligger i dess betydelse för Linux-kärnan. Faktum är att Linux-kärnan vanligtvis är byggd med GCC, men planerna på att tillåta Rust-språket att användas tillsammans med C för kärnkod, av minnessäkerhetsskäl, går stadigt framåt.

"Rust for Linux"-projektet slogs officiellt samman i Linux 6.1 Git-trädet i oktober förra året, vilket gjorde Rust till det andra språket dedikerat till Linux-utveckling, efter 31 år av exklusivt C-baserad utveckling.

“Vi vill att gccrs ska vara en riktig Rust-kompilator och inte ett leksaksprojekt eller något som kompilerar ett språk som ser ut som Rust men som inte är Rust; vi försöker verkligen få den här testsviten att fungera”, tillade han. Under presentationen sa Cohen också att även om GCC 13:s Rust-gränssnitt har fått en bra start, finns det fortfarande mycket arbete kvar att göra. Lånad verifieringskod är påfallande frånvarande för tillfället, stöd för inbyggda och inbyggda moduler pågår fortfarande, och den viktiga milstolpen att kompilera Rust-kod för Linux har ännu inte uppnåtts.

Som en påminnelse, projektet "Rust for Linux" syftar till att introducera ett nytt systemprogrammeringsspråk i Linux-kärnan. Enligt experter har Rust-språket en nyckelegenskap som gör det mycket intressant att betrakta som det andra språket i Linux-kärnan: det säkerställer att inget odefinierat beteende inträffar (så länge den osäkra koden är sund).

Detta inkluderar frånvaron av fel som efter-fri användning, dubbelfrigörelser, datarace, etc. Relaterade debatter kretsar kring möjligheten att kasta bort C till förmån för språket Rust. Men Linus Torvalds, skaparen av Linux, sa att det inte är det uttalade målet med Rust for Linux-projektet.

Slutligen, Det är värt att nämna att även om gccrs-gränssnittet slogs samman för nästa version av GCC 13, det är ännu inte i ett tillstånd där de flesta Rust-utvecklare faktiskt kan använda det som ett alternativ till Rusts officiella LLVM-kompilator.

Det borde inte vara förrän nästa år, åtminstone med GCC 14 åtminstone.

Fuente: https://fosdem.org/


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.