Dans GCC, ils ont approuvé la mise en œuvre de RUST (gccrs)

Récemment, la nouvelle a annoncé que le comité directeur du GCC a approuvé l'inclusion de la mise en œuvre du gccrs (GCC Rust) du compilateur Rust dans le noyau GCC.

Avec lui GCC (Collection de compilateurs GNU) ont déjà un backend pour Rust, à travers le projet appelé rustc_codegen_gcc fondé par Antoni Boucher. Il est toujours décrit comme un travail en cours, mais il a été fusionné dans le référentiel principal de Rust en septembre 2021.

Pour ceux qui ne connaissent pas la langue Rouille, ils devraient savoir ce que c'este se concentre sur la gestion sécurisée de la mémoire et fournit les moyens d'atteindre un parallélisme élevé des tâches. La gestion sûre de la mémoire, qui exclut les erreurs telles que l'accès à une zone mémoire après l'avoir libérée, le déréférencement des pointeurs nuls et le dépassement des limites de la mémoire tampon, est obtenue dans Rust au moment de la compilation en vérifiant les références, en suivant la propriété des objets, en tenant compte de la durée de vie des objets (scopes ), et évaluer l'exactitude de l'accès à la mémoire pendant l'exécution du code.

Calme fournit également une protection contre le débordement d'entier, nécessite l'initialisation des variables avant utilisation, gère mieux les erreurs dans la bibliothèque standard, applique le concept de références et de variables immuables par défaut.

Après avoir intégré l'interface, dans GCC standard, il peut être utilisé pour compiler des programmes Rust sans avoir besoin d'installer le compilateur rustc construit avec les versions LLVM.

Depuis novembre 2020, je travaille à plein temps sur le front-end Rust pour GCC, grâce à Open Source Security, Inc et Embecosm. En conséquence, j'écris à cette liste de diffusion pour solliciter les commentaires de l'expérience collective ici tôt afin de planifier un chemin pour télécharger le front-end vers GCC.

L'importance de ce projet est son importance pour Linux, généralement construit avec GCC, où les plans pour permettre à Rust d'être utilisé aux côtés de C pour le code du noyau, pour des raisons de sécurité de la mémoire, progressent constamment.

Cela signifie que le compilateur Rust, rustc, peut être utilisé avec le backend GCC, Le backend étant le générateur de code qui prend en charge plus d'architectures CPU que LLVM, le compilateur backend habituel de Rust, bien qu'il existe des limitations, telles que la nécessité d'une version corrigée de GCC.

L'alternative est d'avoir une chaîne d'outils GCC complète. En janvier 2021, Open Source Security, Inc, fabricants d'une version renforcée du noyau Linux appelée Grsecurity, a déclaré qu'il financerait un "effort de développement public" d'une interface GCC pour Rust, au motif qu'il améliorait la sécurité en n'ayant pas mélanger différents compilateurs.

De mon point de vue en tant que leader dans ce front-end, nous sommes actuellement en cours de développement intensif, cela signifie donc qu'une bonne quantité de code tourne encore, et je ne vois pas cela changer jusqu'à ce que nous puissions compiler avec succès la boîte libcore plus tard cette année. Même si j'aimerais bien nous voir fusionné avec GCC 13, je veux m'assurer que ce projet soit un succès pour tout, et cela pourrait signifier revenir à la prochaine fenêtre de publication pour s'assurer que cela est gérable pour produire un front-end de qualité pour s'asseoir ensemble aux autres.

La société a cité un article montrant "comment la sécurité globale d'un environnement d'exécution peut être réduite en introduisant du code écrit en Rust ou dans un autre langage où le compilateur ne fournit pas la même sécurité au niveau binaire".

les développeurs gccrs sont encouragés à commencer à travailler avec des équipes de révision et GCC Change Release pour finaliser et approuver les correctifs en termes de respect des exigences techniques pour le code à ajouter à GCC.

En supposant que le développement du gccrs se poursuive comme prévu et qu'aucun problème imprévu ne soit identifié, l'interface en langage Rust sera intégrée à la version GCC 13 prévue pour mai de l'année prochaine. L'implémentation de Rust dans GCC 13 sera en version bêta, pas encore activée par défaut.

Enfin si vous souhaitez en savoir plus sur le projet, vous pouvez consulter les détails dans le lien suivant.


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Un commentaire, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   qtrit dit

    Génial, j'espère que l'implémentation sera utile à de nombreux programmeurs.