A GCC van aprovar la implementació de RUST (gccrs)

Fa poc es va donar a conèixer la notícia que el Comitè Directiu de GCC ha aprovat la inclusió de la implementació gccrs (GCC Rust) del compilador Rust al nucli de GCC.

amb això GCC (GNU Compiler Collection) ja té un backend per a Rust, mitjançant el projecte anomenat rustc_codegen_gcc fundat per Antoni Boucher. Encara es descriu com un treball en progrés, però es va fusionar amb el repositori principal de Rust el setembre del 2021.

Per als qui desconeixen del llenguatge Rust, han de saber que este se centra en la gestió segura de la memòria i proporciona els mitjans per aconseguir un alt paral·lelisme de treballs. El maneig segur de la memòria, que exclou errors com l'accés a una àrea de memòria després d'alliberar-la, la desreferenciació de punters nuls i el desbordament dels límits del memòria intermèdia, s'aconsegueix a Rust en temps de compilació a través de la verificació de referències, el seguiment de la propietat de lobjecte, la comptabilitat de la vida útil dels objectes (abasts) i avaluar la correcció de laccés a la memòria durant lexecució del codi.

Rovell també brinda protecció contra desbordaments de sencers, requereix que les variables s'inicialitzin abans del seu ús, maneja millor els errors a la biblioteca estàndard, aplica el concepte de referències i variables immutables per defecte.

Després d'integrar la interfície, a GCC estàndard es pot fer servir per compilar programes Rust sense la necessitat d'instal·lar el compilador rustc creat amb desenvolupaments LLVM.

Des del novembre del 2020, he treballat a temps complet al front-end de Rust per a GCC, gràcies a Open Source Security, Inc i Embecosm. Com a resultat, estic escrivint a aquesta llista de correu per cercar comentaris de lexperiència col·lectiva aquí aviat per planificar un camí per pujar el front-end a GCC.

La importància d'aquest projecte és la seva importància per a Linux, generalment construït amb GCC, on els plans per permetre que Rust es faci servir juntament amb C per al codi del nucli, per raons de seguretat de la memòria, avancen constantment.

Això vol dir que el compilador de Rust, rustc, es pot fer servir amb el backend de GCC, sent el backend el generador de codi que admet més arquitectures de CPU que LLVM, el compilador de backend habitual de Rust, encara que hi ha limitacions, com requerir una versió aplicada de GCC.

L'alternativa és tenir una cadena completa d'eines GCC. El gener del 2021, Open Source Security, Inc, creadors d'una versió reforçada del nucli de Linux anomenada Grsecurity, va dir que finançaria un «esforç de desenvolupament públic» d'una interfície de GCC per a Rust, amb l'argument que es va millorar la seguretat en no haver de barrejar diferents compiladors.

Des de la meva perspectiva com a líder en aquest front-end, actualment estem sota un fort desenvolupament, així que això significa una bona quantitat de codi rotant encara, i no veig que això canviï fins que puguem compilar amb èxit el libcore caixa a finals daquest any. Encara que m'encantaria veure'ns fusionat a GCC 13, vull assegurar-me que aquest projecte sigui un èxit per tots, i això podria significar retrocedir a la propera finestra de llançament per assegurar-me que això sigui manejable per produir un front-end de qualitat per seure Juntament als altres.

La companyia va citar un document que mostra "com la seguretat general d'un entorn d'execució es pot reduir mitjançant la introducció de codi escrit a Rust o en un altre llenguatge on el compilador no proporciona la mateixa seguretat de nivell binari".

S'encoratja els desenvolupadors de gccrs a començar a treballar amb els equips de revisió i llançament de canvis de GCC per finalitzar i aprovar pegats en termes de complir amb els requisits tècnics per al codi que s'afegirà a GCC.

Suposant que el desenvolupament de gccrs continuï segons el planejat i no s'identifiquin problemes imprevistos, el front-end del llenguatge Rust s'integrarà al llançament de GCC 13 programat per al maig del proper any. La implementació de Rust a GCC 13 estarà en estat beta, encara no habilitada per defecte.

Finalment si estàs interessat en poder conèixer més a l'respecte sobre el projecte, pots consultar els detalls a el següent enllaç.


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: AB Internet Networks 2008 SL
  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ó.

  1.   qtrit va dir

    Genial, espero que la implementació sigui útil per a molts programadors.