gccrs će biti integrisan u GCC 13

gccrs

gccrs je kompletna alternativna implementacija Rust jezika preko GCC-a

Nedavno je to otkriveno projekat gccrs, čiji je cilj da obezbedi interfejs za Rust jezik za GCC (GNU Compiler Collection), je na putu da bude integrisan u GCC 13.  Na konferenciji za programere FOSDEM ranije ovog mjeseca, inženjer Arthur Cohen je održao prezentaciju o gccrs-u u kojoj je prikazao trenutno stanje rada.

Za one koji nisu svjesni projekta gccrs, trebali bi znati da je to kompletna alternativna implementacija Rust jezika na vrhu GCC-a sa ciljem da u potpunosti postane GNU alatni lanac.

Poreklo ovog projekta je napor zajednice prije nekoliko godina, kada je Rust još uvijek bio u verziji 0.9; jezik koji je kreirala Mozilla bio je podložan tolikim promenama da je postalo teško za pokušaj zajednice da sustigne korak.

Sada kada je jezik stabilan, vrijeme je za kreiranje alternativnih kompajlera:

“Započeli su 2014. (i ponovo pokrenuti 2019.), napori su u toku od 2020. godine i uložili smo mnogo truda i mnogo napretka. Učitali smo prvu verziju gccrs-a unutar GCC-a. Dakle, sljedeći put kada instalirate GCC 13, unutra će imati gccrs.

Možete ga koristiti i možete ga početi hakovati, možete prijaviti probleme kada se neizbježno sruši i užasno umre. Jedna velika stvar koju radimo je da radimo na tome da rustc test paket funkcioniše,” rekao je Arthur Cohen tokom svog izlaganja na FOSDEM konferenciji ranije ovog mjeseca.

Sposobnost uspješnog pokretanja testnog paketa kompajlera rustc također ostaje cilj. Prema Cohenu, Rustov GCC interfejs takođe ukazuje na stariju Rust libcore 1.49.

Gccrs projekt FAQ napominje da svim LLVM tehnologijama izgradnje, koje koristi Rust, "nedostaju neki GCC-kompatibilni backendovi, tako da implementacija gccrs može popuniti praznine za korištenje u ugrađenom razvoju".

Imajte na umu, međutim, da je Rust-GCC kompajler (gccrs) još uvijek u vrlo ranoj fazi i da se još ne može koristiti za kompajliranje stvarnih Rust programa.

GCC tim je prošlog jula glasao za odobravanje integracije gccrs-a kao build suite. Važnost ovog projekta leži u njegovoj važnosti za Linux kernel. U stvari, Linux kernel se obično gradi sa GCC-om, ali planovi da se dozvoli korištenje jezika Rust uz C za kernel kod, iz sigurnosnih razloga memorije, stalno napreduju.

Projekat "Rust for Linux" službeno se spojio u glavno stablo Linuxa 6.1 Git prošlog oktobra, čime je Rust postao drugi jezik posvećen razvoju Linuxa, nakon 31 godine isključivo C-baziranog razvoja.

“Želimo da gccrs bude pravi Rust kompajler, a ne projekat igračke ili nešto što kompajlira jezik koji izgleda kao Rust, ali nije Rust; mi se zaista trudimo da ovaj testni paket funkcionira”, dodao je. Tokom prezentacije, Cohen je takođe rekao da iako je GCC 13 Rust interfejs dobro počeo, ima još puno posla koji treba da se uradi. Posuđeni verifikacioni kod trenutno upadljivo nedostaje, podrška za ugrađene i intrinzične module je još uvek u toku, a važna prekretnica kompajliranja Rust koda za Linux tek treba da se postigne.

Podsjećamo, projekat "Rust for Linux" ima za cilj da uvede novi sistemski programski jezik u Linux kernel. Prema mišljenju stručnjaka, Rust jezik ima ključno svojstvo koje ga čini vrlo zanimljivim za razmatranje kao drugi jezik jezgre Linuxa: osigurava da se ne dešava nedefinirano ponašanje (sve dok je nesiguran kod zdrav).

Ovo uključuje odsustvo grešaka kao što su korištenje nakon slobodnog korištenja, dvostruko oslobađanje, utrke podataka itd. Srodne debate se vrte oko mogućnosti odbacivanja C u korist Rust jezika. Ali Linus Torvalds, tvorac Linuxa, rekao je da to nije navedeni cilj projekta Rust for Linux.

Na kraju, Vrijedi napomenuti da iako je gccrs interfejs spojen za sljedeću verziju GCC 13, još uvijek nije u stanju u kojem ga većina Rust programera zapravo može koristiti kao alternativa Rustovom službenom LLVM kompajleru.

To bi trebalo biti tek sljedeće godine, barem sa GCC 14.

Izvor: https://fosdem.org/


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.