gccrs sarà integrato in GCC 13

gccr

gccrs è un'implementazione alternativa completa del linguaggio Rust su GCC

È stato recentemente rivelato che il progetto gccrs, il cui obiettivo è fornire un'interfaccia per il linguaggio Rust a GCC (GNU Compiler Collection), sta per essere integrato nel GCC 13.  Alla conferenza degli sviluppatori FOSDEM all'inizio di questo mese, l'ingegnere Arthur Cohen ha tenuto una presentazione su gccrs delineando lo stato attuale del lavoro.

Per coloro che non sono a conoscenza del progetto gccrs, dovrebbero sapere che questo è un'implementazione alternativa completa del linguaggio Rust in cima a GCC con l'obiettivo di diventare completamente la toolchain GNU.

L'origine di questo progetto è uno sforzo della comunità diversi anni fa, quando Rust era ancora alla versione 0.9; il linguaggio creato da Mozilla è stato soggetto a così tanti cambiamenti che è diventato difficile per uno sforzo della comunità recuperare il ritardo.

Ora che il linguaggio è stabile, è il momento di creare compilatori alternativi:

“Iniziato nel 2014 (e rilanciato nel 2019), lo sforzo è in corso dal 2020 e abbiamo fatto molti sforzi e molti progressi. Abbiamo caricato la prima versione di gccrs all'interno di GCC. Quindi la prossima volta che installi GCC 13, avrà gccrs all'interno.

Puoi usarlo e puoi iniziare ad hackerarlo, puoi segnalare i problemi quando inevitabilmente si blocca e muore in modo orribile. Una cosa importante che stiamo facendo è lavorare per far funzionare la suite di test rustc ", ha affermato Arthur Cohen durante la sua presentazione alla conferenza FOSDEM all'inizio di questo mese.

Anche la capacità di eseguire con successo la suite di test del compilatore rustc rimane un obiettivo. Secondo Coen, L'interfaccia GCC di Rust punta anche al vecchio Rust libcore 1.49.

Le FAQ del progetto gccrs rilevano che tutte le tecnologie di compilazione LLVM, utilizzate da Rust, "mancano di alcuni backend compatibili con GCC, quindi un'implementazione gccrs può colmare le lacune per l'utilizzo nello sviluppo integrato«.

Si noti, tuttavia, che il compilatore Rust-GCC (gccrs) è ancora in una fase iniziale e non può ancora essere utilizzato per compilare veri e propri programmi Rust.

Il team GCC ha votato lo scorso luglio per approvare l'integrazione di gccrs come suite di compilazione. L'importanza di questo progetto risiede nella sua importanza per il kernel Linux. In effetti, il kernel di Linux è solitamente costruito con GCC, ma i piani per consentire l'utilizzo del linguaggio Rust insieme a C per il codice del kernel, per motivi di sicurezza della memoria, stanno procedendo costantemente.

Il progetto "Rust for Linux" si è ufficialmente unito all'albero Git principale di Linux 6.1 lo scorso ottobre, rendendo Rust il secondo linguaggio dedicato allo sviluppo di Linux, dopo 31 anni di sviluppo esclusivamente basato su C.

“Vogliamo che gccrs sia un vero compilatore Rust e non un progetto giocattolo o qualcosa che compili un linguaggio che assomigli a Rust ma non sia Rust; stiamo davvero cercando di far funzionare questa suite di test ", ha aggiunto. Durante la presentazione, Cohen ha anche affermato che mentre l'interfaccia Rust di GCC 13 è partita bene, c'è ancora molto lavoro da fare. Il codice di verifica preso in prestito è vistosamente assente al momento, il supporto per i moduli integrati e intrinseci è ancora in corso e l'importante pietra miliare della compilazione del codice Rust per Linux deve ancora essere raggiunta.

Ricordiamo il progetto "Rust for Linux" mira a introdurre un nuovo linguaggio di programmazione di sistema nel kernel Linux. Secondo gli esperti, il linguaggio Rust ha una proprietà chiave che lo rende molto interessante da considerare come il secondo linguaggio del kernel Linux: assicura che non si verifichino comportamenti indefiniti (a patto che il codice insicuro sia sano).

Ciò include l'assenza di errori come l'uso post-libero, i doppi liberi, le gare di dati, ecc. I dibattiti correlati ruotano attorno alla possibilità di abbandonare C a favore del linguaggio Rust. Ma Linus Torvalds, il creatore di Linux, ha detto che non è l'obiettivo dichiarato del progetto Rust for Linux.

Infine, Vale la pena ricordare che sebbene l'interfaccia gccrs sia stata unita per la prossima versione di GCC 13, non è ancora in uno stato in cui la maggior parte degli sviluppatori di Rust possa effettivamente usarlo come alternativa al compilatore LLVM ufficiale di Rust.

Non dovrebbe essere fino al prossimo anno, almeno con GCC 14 almeno.

fonte: https://fosdem.org/


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.