gccrs s'estarà integrant a GCC 13

gccrs

gccrs és una implementació alternativa completa del llenguatge Rust sobre GCC

Es va donar a conèixer fa poc que el projecte «gccrs», l'objectiu del qual és proporcionar una interfície per al llenguatge Rust a GCC (GNU Compiler Collection), està en camí d'integrar-se a GCC 13.  A la conferència de desenvolupadors FOSDEM a principis d'aquest mes, l'enginyer Arthur Cohen va fer una presentació sobre gccrs que descriu l'estat actual del treball.

Per als que desconeixen del projecte gccrs, han de saber que aquest és una implementació alternativa completa del llenguatge Rust sobre GCC amb l'objectiu d'esdevenir completament la cadena d'eines GNU.

L'origen d'aquest projecte és un esforç de la comunitat fa uns quants anys, quan Rust encara era a la versió 0.9; el llenguatge creat per Mozilla va estar subjecte a tants canvis que es va fer difícil que un esforç de la comunitat es posés al dia.

Ara que el llenguatge és estable, és hora de crear compiladors alternatius:

“Va començar el 2014 (i es va rellançar el 2019), l'esforç ha estat en curs des del 2020 i hem fet molt d'esforç i molt de progrés. Hem pujat la primera versió de gccrs dins de GCC. Aleshores, la propera vegada que instal·leu GCC 13, tindreu gccrs dins.

Podeu utilitzar-lo i podeu començar a piratejar-lo, podeu informar els problemes quan inevitablement es bloquegi i mori horriblement. Una gran cosa que estem fent és treballar perquè el conjunt de proves de rustc funcioni”, va dir Arthur Cohen durant la seva presentació a la conferència FOSDEM a principis d'aquest mes.

La capacitat dexecutar amb èxit el conjunt de proves del compilador rustc també segueix sent un objectiu. Segons Cohen, la interfície GCC de Rust també apunta a la versió anterior de Rust libcore 1.49.

Les preguntes freqüents del projecte gccrs assenyalen que totes les tecnologies de compilació de LLVM, que utilitza Rust, «no tenen alguns backends compatibles amb GCC, per la qual cosa una implementació de gccrs pot omplir els buits per al seu ús en el desenvolupament integrat".

No obstant això, tingueu en compte que el compilador Rust-GCC (gccrs) encara es troba en una etapa molt primerenca i encara no es pot utilitzar per compilar programes reals de Rust.

L'equip de GCC va votar el juliol passat per aprovar la integració de gccrs com una suite de compilació. La importància d'aquest projecte rau en la importància del nucli de Linux. De fet, el nucli de Linux generalment es construeix amb GCC, però els plans per permetre que el llenguatge Rust es faci servir juntament amb C per al codi del nucli, per raons de seguretat de la memòria, estan progressant constantment.

El projecte «Rust for Linux» es va fusionar oficialment amb l'arbre principal de Linux 6.1 Git a l'octubre passat, fet que va convertir Rust en el segon llenguatge dedicat al desenvolupament de Linux, després de 31 anys de desenvolupament exclusivament basat en C.

“Volem que gccrs sigui un veritable compilador de Rust i no un projecte de joguina o quelcom que compili un llenguatge que s'assembla a Rust, però que no és Rust; realment estem intentant fer que aquest conjunt de proves funcioni”, va afegir. Durant la presentació, Cohen també va dir que si bé la interfície Rust de GCC 13 ha tingut un bon començament, encara queda molta feina per fer. El codi de verificació prestat està notablement absent en aquest moment, el suport per a mòduls integrats i intrínsecs encara està en curs, i encara no s'ha aconseguit la fita important de compilar el codi de Rust per a Linux.

Com a recordatori, el projecte Rust for Linux té com a objectiu introduir un nou llenguatge de programació del sistema al nucli de Linux. Segons els experts, el llenguatge Rust té una propietat clau que fa que sigui molt interessant considerar-ho com el segon llenguatge del nucli de Linux: assegura que no es produeixi cap comportament indefinit (sempre que el codi insegur estigui assenyat).

Això inclou l'absència d'errors com ara ús after-free, double frees, carreres de dades, etc. Els debats relacionats giren al voltant de la possibilitat de rebutjar C a favor del llenguatge Rust. Però Linus Torvalds, el creador de Linux, va dir que no és l'objectiu declarat del projecte Rust for Linux.

Finalment, cal esmentar que encara que la interfície de gccrs es va fusionar per a la propera versió de GCC 13, encara no es troba en un estat en què la majoria dels desenvolupadors de Rust puguin realment utilitzar-la com una alternativa al compilador LLVM oficial de Rust.

No hauria de ser fins al proper any, almenys amb GCC 14 almenys.

font: https://fosdem.org/


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.