gccrs će biti integriran u GCC 13

gccrs

gccrs je potpuna alternativna implementacija jezika Rust preko GCC-a

Nedavno je otkriveno da projekt gccrs, čiji je cilj osigurati sučelje za Rust jezik za GCC (GNU Compiler Collection), je na putu da se integrira u GCC 13.  Na FOSDEM konferenciji za programere ranije ovog mjeseca, inženjer Arthur Cohen održao je prezentaciju o gccrs-u ocrtavajući trenutno stanje rada.

Za one koji nisu upoznati s projektom gccrs, trebali bi znati da je to kompletna alternativna implementacija jezika Rust povrh GCC-a s ciljem da u potpunosti postane GNU alatni lanac.

Podrijetlo ovog projekta je napor zajednice prije nekoliko godina, kada je Rust još bio na verziji 0.9; jezik koji je stvorila Mozilla bio je podložan tolikim promjenama da je naporima zajednice postalo teško uhvatiti korak.

Sada kada je jezik stabilan, vrijeme je za stvaranje alternativnih prevodilaca:

“Započeli 2014. (i ponovno pokrenuti 2019.), napori traju od 2020. i uložili smo mnogo truda i puno smo napredovali. Prenijeli smo prvu verziju gccrs-a unutar GCC-a. Dakle, sljedeći put kada instalirate GCC 13, on će imati gccrs unutra.

Možete ga koristiti i možete ga početi hakirati, možete prijaviti probleme kada se neizbježno sruši i užasno umre. Jedna velika stvar koju radimo je raditi na tome da rustc testni paket funkcionira,” rekao je Arthur Cohen tijekom svoje prezentacije na FOSDEM konferenciji ranije ovog mjeseca.

Sposobnost uspješnog pokretanja paketa testova rustc prevoditelja također ostaje cilj. Prema Cohenu, Rustovo GCC sučelje također ukazuje na stariju Rust libcore 1.49.

Često postavljana pitanja o projektu gccrs primjećuju da sve tehnologije izgradnje LLVM-a, koje koristi Rust, "nedostaju neke pozadine kompatibilne s GCC-om, pa gccrs implementacija može popuniti praznine za korištenje u ugrađenom razvoju”.

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

GCC tim glasao je u srpnju prošle godine za odobrenje gccrs integracije kao paket za izgradnju. Važnost ovog projekta leži u njegovoj važnosti za Linux kernel. Zapravo, Linux kernel se obično gradi s GCC-om, ali planovi da se omogući korištenje Rust jezika uz C za kernel kod, iz sigurnosnih razloga memorije, stalno napreduju.

Projekt "Rust for Linux" službeno se spojio s glavnim Linux 6.1 Git stablom prošlog listopada, čime je Rust postao drugi jezik posvećen razvoju Linuxa, nakon 31 godine razvoja isključivo na C-u.

“Želimo da gccrs bude pravi Rust prevodilac, a ne projekt igračka ili nešto što kompajlira jezik koji izgleda kao Rust, ali nije Rust; stvarno se trudimo da ovaj testni paket funkcionira,” dodao je. Tijekom prezentacije, Cohen je također rekao da, iako je GCC 13 Rust sučelje na dobrom početku, ima još puno posla za napraviti. Posuđeni verifikacijski kod trenutačno je očito odsutan, podrška za ugrađene i intrinzične module još uvijek je u tijeku, a važna prekretnica kompajliranja Rust koda za Linux tek treba biti postignuta.

Podsjetimo, projekt "Rust for Linux" ima za cilj uvesti novi sistemski programski jezik u Linux kernel. Prema stručnjacima, Rust jezik ima ključno svojstvo zbog kojeg je vrlo zanimljiv za razmatranje kao drugog jezika jezgre Linuxa: osigurava da se ne događa nedefinirano ponašanje (sve dok je nesiguran kod zdrav).

To uključuje odsutnost pogrešaka kao što su korištenje nakon oslobađanja, dvostruka oslobađanja, utrke podataka itd. Povezane rasprave vrte se oko mogućnosti odbacivanja C-a u korist jezika Rust. Ali Linus Torvalds, tvorac Linuxa, rekao je da to nije navedeni cilj projekta Rust for Linux.

Konačno, Vrijedno je spomenuti da iako je gccrs sučelje spojeno za sljedeću verziju GCC 13, još nije u stanju u kojem ga većina Rust programera zapravo može koristiti kao alternativa službenom Rustovom LLVM kompajleru.

Ne bi trebalo biti do sljedeće godine, barem s GCC 14.

izvor: https://fosdem.org/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.