gccrs vil blive integreret i GCC 13

gccrs

gccrs er en komplet alternativ implementering af Rust-sproget over GCC

Det blev for nylig afsløret gccrs-projektet, hvis mål er at levere en grænseflade til Rust-sproget til GCC (GNU Compiler Collection), er på vej til at blive integreret i GCC 13.  På FOSDEM-udviklerkonferencen tidligere på måneden holdt ingeniør Arthur Cohen en præsentation om gccrs, der skitserede den aktuelle tilstand af arbejdet.

For dem, der ikke er klar over gccrs-projektet, bør de vide, at dette er en komplet alternativ implementering af Rust-sproget oven på GCC med det mål at blive fuldt ud GNU-værktøjskæden.

Oprindelsen til dette projekt er en samfundsindsats for flere år siden, da Rust stadig var på version 0.9; sproget skabt af Mozilla var genstand for så mange ændringer, at det blev svært for en samfundsindsats at indhente.

Nu hvor sproget er stabilt, er det tid til at oprette alternative compilere:

"Startet i 2014 (og relanceret i 2019), har indsatsen været i gang siden 2020, og vi har gjort en stor indsats og en masse fremskridt. Vi har uploadet den første version af gccrs inde i GCC. Så næste gang du installerer GCC 13, vil den have gccrs inde.

Du kan bruge det, og du kan begynde at hacke det, du kan rapportere problemerne, når det uundgåeligt går ned og dør forfærdeligt. En stor ting, vi gør, er at arbejde på at få rustc-testsuiten til at fungere,” sagde Arthur Cohen under sin præsentation på FOSDEM-konferencen tidligere på måneden.

Evnen til succesfuldt at køre rustc compiler-testpakken forbliver også et mål. Ifølge Cohen, Rusts GCC-grænseflade peger også på ældre Rust libcore 1.49.

Gccrs-projektets FAQ bemærker, at alle LLVM-byggeteknologierne, som bruges af Rust, "mangler nogle GCC-kompatible backends, så en gccrs-implementering kan udfylde hullerne til brug i indlejret udvikling".

Bemærk dog, at Rust-GCC-kompileren (gccrs) stadig er i et meget tidligt stadie og endnu ikke kan bruges til at kompilere egentlige Rust-programmer.

GCC-teamet stemte i juli sidste år for at godkende gccrs-integrationen som en byggesuite. Betydningen af ​​dette projekt ligger i dets betydning for Linux-kernen. Faktisk er Linux-kernen normalt bygget med GCC, men planerne om at tillade Rust-sproget at blive brugt sammen med C til kernekode, af hukommelsessikkerhedsmæssige årsager, udvikler sig støt.

"Rust for Linux"-projektet fusionerede officielt ind i Linux 6.1 Git-træet i oktober sidste år, hvilket gjorde Rust til det andet sprog dedikeret til Linux-udvikling efter 31 års udelukkende C-baseret udvikling.

"Vi ønsker, at gccrs skal være en ægte Rust-kompiler og ikke et legetøjsprojekt eller noget, der kompilerer et sprog, der ligner Rust, men som ikke er Rust; vi prøver virkelig at få denne testsuite til at fungere,” tilføjede han. Under præsentationen sagde Cohen også, at selvom GCC 13's Rust-grænseflade er kommet godt fra start, er der stadig meget arbejde, der skal gøres. Lånt verifikationskode er påfaldende fraværende i øjeblikket, understøttelse af indbyggede og iboende moduler er stadig i gang, og den vigtige milepæl med at kompilere Rust-kode til Linux er endnu ikke nået.

Som en påmindelse, projektet "Rust for Linux" har til formål at introducere et nyt systemprogrammeringssprog i Linux-kernen. Ifølge eksperter har Rust-sproget en nøgleegenskab, der gør det meget interessant at betragte som Linux-kernens andet sprog: det sikrer, at der ikke opstår nogen udefineret adfærd (så længe den usikre kode er sund).

Dette inkluderer fravær af fejl som efter-fri brug, dobbeltfrigørelser, dataløb mv. Relaterede debatter kredser om muligheden for at droppe C til fordel for Rust-sproget. Men Linus Torvalds, skaberen af ​​Linux, sagde, at det ikke er det erklærede mål med Rust for Linux-projektet.

Endelig Det er værd at nævne, at selvom gccrs-grænsefladen blev slået sammen til den næste version af GCC 13, det er endnu ikke i en tilstand, hvor de fleste Rust-udviklere faktisk kan bruge det som et alternativ til Rusts officielle LLVM-kompiler.

Det skulle ikke være før næste år, i det mindste med GCC 14.

kilde: https://fosdem.org/


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.