gccrs vil bli integrert i GCC 13

gccrs

gccrs er en komplett alternativ implementering av Rust-språket over GCC

Det ble nylig avslørt gccrs-prosjektet, hvis mål er å gi et grensesnitt for Rust-språket til GCC (GNU Compiler Collection), er på vei til å bli integrert i GCC 13.  På FOSDEM-utviklerkonferansen tidligere denne måneden holdt ingeniør Arthur Cohen en presentasjon om gccrs som skisserte den nåværende tilstanden til arbeidet.

For de som ikke er klar over gccrs-prosjektet, bør de vite at dette er en komplett alternativ implementering av Rust-språket på toppen av GCC med mål om å bli fullt ut GNU-verktøykjeden.

Opprinnelsen til dette prosjektet er en samfunnsinnsats for flere år siden, da Rust fortsatt var på versjon 0.9; språket skapt av Mozilla var gjenstand for så mange endringer at det ble vanskelig for en samfunnsinnsats å ta igjen.

Nå som språket er stabilt, er det på tide å lage alternative kompilatorer:

«Startet i 2014 (og relansert i 2019), har innsatsen pågått siden 2020, og vi har gjort mye innsats og mye fremgang. Vi har lastet opp den første versjonen av gccrs i GCC. Så neste gang du installerer GCC 13, vil den ha gccrs inne.

Du kan bruke den og du kan begynne å hacke den, du kan rapportere problemene når den uunngåelig krasjer og dør fryktelig. En stor ting vi gjør er å jobbe med å få rustc-testpakken til å fungere, sa Arthur Cohen under sin presentasjon på FOSDEM-konferansen tidligere denne måneden.

Evnen til å lykkes med å kjøre rustc-kompilatortestpakken er også fortsatt et mål. I følge Cohen, Rusts GCC-grensesnitt peker også på eldre Rust libcore 1.49.

Gccrs-prosjektets FAQ bemerker at alle LLVM-byggeteknologiene, som brukes av Rust, "mangler noen GCC-kompatible backends, så en gccrs-implementering kan fylle ut hullene for bruk i innebygd utvikling".

Vær imidlertid oppmerksom på at Rust-GCC-kompilatoren (gccrs) fortsatt er i et veldig tidlig stadium og ennå ikke kan brukes til å kompilere faktiske Rust-programmer.

GCC-teamet stemte i juli i fjor for å godkjenne gccrs-integrasjonen som en byggesuite. Betydningen av dette prosjektet ligger i dets betydning for Linux-kjernen. Faktisk er Linux-kjernen vanligvis bygget med GCC, men planene om å la Rust-språket brukes sammen med C for kjernekode, av minnesikkerhetsgrunner, utvikler seg jevnt.

"Rust for Linux"-prosjektet fusjonerte offisielt inn i hoved Linux 6.1 Git-treet i oktober i fjor, noe som gjorde Rust til det andre språket dedikert til Linux-utvikling, etter 31 år med eksklusivt C-basert utvikling.

«Vi vil at gccrs skal være en ekte Rust-kompilator og ikke et leketøysprosjekt eller noe som kompilerer et språk som ser ut som Rust, men som ikke er Rust; vi prøver virkelig å få denne testpakken til å fungere," la han til. Under presentasjonen sa Cohen også at selv om GCC 13s Rust-grensesnitt har fått en god start, er det fortsatt mye arbeid å gjøre. Lånt bekreftelseskode er påfallende fraværende for øyeblikket, støtte for innebygde og iboende moduler pågår fortsatt, og den viktige milepælen med å kompilere Rust-kode for Linux er ennå ikke nådd.

Som en påminnelse, prosjektet "Rust for Linux" har som mål å introdusere et nytt systemprogrammeringsspråk i Linux-kjernen. Ifølge eksperter har Rust-språket en nøkkelegenskap som gjør det veldig interessant å betrakte som det andre språket i Linux-kjernen: det sikrer at ingen udefinert oppførsel oppstår (så lenge den usikre koden er tilregnelig).

Dette inkluderer fravær av feil som etter-fri bruk, doble frees, dataraces, etc. Relaterte debatter dreier seg om muligheten for å droppe C til fordel for Rust-språket. Men Linus Torvalds, skaperen av Linux, sa at det ikke er det uttalte målet med Rust for Linux-prosjektet.

Endelig, Det er verdt å nevne at selv om gccrs-grensesnittet ble slått sammen for neste versjon av GCC 13, den er ennå ikke i en tilstand der de fleste Rust-utviklere faktisk kan bruke den som et alternativ til Rusts offisielle LLVM-kompilator.

Det bør ikke være før neste år, i hvert fall med GCC 14 i det minste.

Fuente: https://fosdem.org/


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.