gccrs vil blive integreret i GCC 13

gccrs

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

Det blev for nylig annonceret, at "gccrs"-projektet , der har til formål at levere en grænseflade til Rust-sproget i GCC (GNU Compiler Collection), er på vej til at blive integreret i GCC 13. På FOSDEM-udviklerkonferencen tidligere på måneden gav ingeniør Arthur Cohen en præsentation om gccrs, hvor han skitserede den nuværende status for arbejdet.

For dem der ikke er bekendt med gccrs-projektet, er det en komplet alternativ implementering af Rust-sproget oven på GCC, med det mål at blive fuldt integreret i 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 at køre rustc compiler testsuiten med succes er også fortsat et mål. Ifølge Cohen er Rusts GCC-grænseflade også rettet mod den ældre Rust libcore version 1.49.

I gccrs-projektets ofte stillede spørgsmål bemærkes det, at alle LLVM-byggeteknologier, som Rust bruger, "mangler nogle GCC-kompatible backends, så en gccrs-implementering kan udfylde hullerne til brug i integreret 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 sidste juli for at godkende integrationen af ​​gccrs som en build suite. Vigtigheden af ​​dette projekt ligger i dets betydning for Linux-kernen. Faktisk er Linux-kernen typisk bygget med GCC, men planerne om at tillade Rust-sproget at blive brugt sammen med C til kernekode af hensyn til hukommelsessikkerhed skrider støt frem.

"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 sigter Rust for Linux-projektet mod at introducere et nyt systemprogrammeringssprog i Linux-kernen. Ifølge eksperter har Rust en nøgleegenskab, der gør det meget interessant at overveje som et andet sprog til Linux-kernen: det sikrer, at der ikke forekommer udefineret adfærd (forudsat at den usikre kode er korrekt).

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 er det værd at nævne, at selvom gccrs-grænsefladen blev integreret i den kommende GCC 13-udgivelse, er den endnu ikke i en tilstand, hvor de fleste Rust-udviklere rent faktisk kan bruge den som et alternativ til Rusts officielle LLVM-compiler.

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

Kilde: https://fosdem.org/


Tilføj som foretrukken kilde i Google