In GCC genehmigten sie die Implementierung von RUST (gccrs)

Kürzlich haben die Nachrichten das verbreitet Der GCC-Lenkungsausschuss hat die Einbeziehung der gccrs-Implementierung genehmigt (GCC Rust) aus dem Rust-Compiler im GCC-Core.

Mit ihm GCC (GNU-Compiler-Sammlung) haben bereits ein Backend für Rust, durch das von Antoni Boucher gegründete Projekt namens rustc_codegen_gcc. Es wird immer noch als Work in Progress beschrieben, aber es wurde im September 2021 in das Haupt-Repositorium von Rust integriert.

Für diejenigen, die die Sprache nicht kennen Rost, Sie sollten wissen, was iste konzentriert sich auf sichere Speicherverwaltung und stellt die Mittel bereit, um eine hohe Jobparallelität zu erreichen. Eine sichere Speicherbehandlung, die Fehler wie den Zugriff auf einen Speicherbereich nach dem Freigeben, das Dereferenzieren von Nullzeigern und den Überlauf von Puffergrenzen ausschließt, wird in Rust zur Kompilierzeit erreicht, indem auf Referenzen geprüft wird, der Besitz von Objekten verfolgt wird und die Lebensdauer von Objekten berücksichtigt wird (Scopes ) und Auswerten der Korrektheit des Speicherzugriffs während der Codeausführung.

Rust bietet auch einen Ganzzahlüberlaufschutz, erfordert, dass Variablen vor der Verwendung initialisiert werden, behandelt Fehler in der Standardbibliothek besser, erzwingt standardmäßig das Konzept von Referenzen und unveränderlichen Variablen.

Nach der Integration der Schnittstelle kann sie im Standard-GCC zum Kompilieren von Rust-Programmen verwendet werden, ohne dass der mit LLVM-Builds erstellte rustc-Compiler installiert werden muss.

Seit November 2020 arbeite ich dank Open Source Security, Inc und Embecosm Vollzeit am Rust-Frontend für GCC. Aus diesem Grund schreibe ich an diese Mailingliste, um frühzeitig Feedback von der kollektiven Erfahrung hier einzuholen, um einen Weg zum Hochladen des Front-Ends auf GCC zu planen.

Die Bedeutung dieses Projekts liegt in seiner Bedeutung für Linux, das im Allgemeinen mit GCC erstellt wurde, wo Pläne, Rust neben C für Kernel-Code zu verwenden, aus Gründen der Speichersicherheit ständig voranschreiten.

Das bedeutet, dass der Rust-Compiler, rustc, kann mit dem GCC-Backend verwendet werden, Das Backend ist der Codegenerator, der mehr CPU-Architekturen unterstützt als LLVM, der übliche Backend-Compiler von Rust, obwohl es Einschränkungen gibt, wie z. B. das Erfordernis einer gepatchten Version von GCC.

Die Alternative ist eine vollständige GCC-Toolchain. Im Januar 2021 sagte Open Source Security, Inc, Hersteller einer gehärteten Version des Linux-Kernels namens Grsecurity, dass es eine „öffentliche Entwicklungsanstrengung“ einer GCC-Schnittstelle für Rust finanzieren würde, mit der Begründung, dass es die Sicherheit verbessere, indem es dies nicht habe verschiedene Compiler zu mischen.

Aus meiner Sicht als Marktführer in diesem Frontend sind wir das derzeit in starker Entwicklung, was bedeutet, dass eine ganze Menge Code rotiert noch nicht, und ich sehe keine Änderung, bis wir erfolgreich kompilieren können die Libcore-Box später in diesem Jahr. Obwohl ich mich gerne sehen würde in GCC 13 zusammengeführt, möchte ich sicherstellen, dass dieses Projekt ein Erfolg wird alle, und dies könnte bedeuten, dass Sie zum nächsten Veröffentlichungsfenster zurückkehren um sicherzustellen, dass dies überschaubar ist, um ein qualitativ hochwertiges Front-End zu erstellen zusammen zu anderen.

Das Unternehmen zitierte ein Papier, das zeigt, „wie die Gesamtsicherheit einer Laufzeitumgebung verringert werden kann, indem Code eingeführt wird, der in Rust oder einer anderen Sprache geschrieben ist, in der der Compiler nicht die gleiche Sicherheit auf Binärebene bietet“.

gccrs-Entwickler werden ermutigt, mit der Zusammenarbeit mit Review-Teams zu beginnen und GCC Change Release, um Patches fertigzustellen und zu genehmigen, um die technischen Anforderungen für Code zu erfüllen, der zu GCC hinzugefügt werden soll.

Unter der Annahme, dass die Entwicklung von gccrs wie geplant fortgesetzt wird und keine unvorhergesehenen Probleme festgestellt werden, Das Rust-Sprach-Frontend wird in die GCC 13-Version integriert, die für Mai nächsten Jahres geplant ist. Die Rust-Implementierung in GCC 13 befindet sich im Beta-Status und ist noch nicht standardmäßig aktiviert.

Schließlich wenn Sie mehr darüber wissen möchten über das Projekt können Sie die Details in einsehen den folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   qtrit sagte

    Großartig, ich hoffe, die Implementierung wird für viele Programmierer nützlich sein.