gccrs wird in GCC 13 integriert

gccrs

gccrs ist eine vollständige alternative Implementierung der Rust-Sprache über GCC

Das wurde kürzlich bekannt das gccrs-Projekt, dessen Ziel es ist, eine Schnittstelle für die Rust-Sprache zu GCC (GNU Compiler Collection) bereitzustellen, ist auf dem Weg in GCC 13 integriert zu werden.  Auf der FOSDEM-Entwicklerkonferenz Anfang dieses Monats hielt Ingenieur Arthur Cohen eine Präsentation über gccrs, in der er den aktuellen Stand der Arbeit skizzierte.

Für diejenigen, die das gccrs-Projekt nicht kennen, sollten sie wissen, dass dies der Fall ist eine vollständige alternative Implementierung der Rust-Sprache auf GCC mit dem Ziel, vollständig zur GNU-Toolchain zu werden.

Der Ursprung dieses Projekts ist eine Gemeinschaftsarbeit vor einigen Jahren, als Rust noch bei Version 0.9 war; Die von Mozilla entwickelte Sprache war so vielen Änderungen unterworfen, dass es für eine Community-Bemühung schwierig wurde, aufzuholen.

Jetzt, da die Sprache stabil ist, ist es an der Zeit, alternative Compiler zu erstellen:

„Begonnen im Jahr 2014 (und neu gestartet im Jahr 2019), laufen die Bemühungen seit 2020 und wir haben uns sehr bemüht und viele Fortschritte gemacht. Wir haben die erste Version von gccrs in GCC hochgeladen. Wenn Sie also das nächste Mal GCC 13 installieren, enthält es gccrs.

Sie können es verwenden und anfangen, es zu hacken, Sie können die Probleme melden, wenn es unweigerlich abstürzt und schrecklich stirbt. Eine große Sache, die wir tun, ist daran zu arbeiten, dass die rustc-Testsuite funktioniert“, sagte Arthur Cohen während seiner Präsentation auf der FOSDEM-Konferenz Anfang dieses Monats.

Die Fähigkeit, die rustc-Compiler-Testsuite erfolgreich auszuführen, bleibt ebenfalls ein Ziel. Laut Cohen, Die GCC-Schnittstelle von Rust zeigt auch auf die ältere Rust-Libcore 1.49.

Die gccrs-Projekt-FAQ stellt fest, dass allen LLVM-Build-Technologien, die von Rust verwendet werden, „einige GCC-kompatible Backends fehlen, also Eine gccrs-Implementierung kann die Lücken für den Einsatz in der Embedded-Entwicklung schließen«.

Beachten Sie jedoch, dass sich der Rust-GCC-Compiler (gccrs) noch in einem sehr frühen Stadium befindet und noch nicht zum Kompilieren tatsächlicher Rust-Programme verwendet werden kann.

Das GCC-Team stimmte im vergangenen Juli für die Genehmigung der gccrs-Integration als Build-Suite. Die Bedeutung dieses Projekts liegt in seiner Bedeutung für den Linux-Kernel. Tatsächlich wird der Linux-Kernel normalerweise mit GCC erstellt, aber Pläne, die Rust-Sprache neben C für Kernel-Code zu verwenden, aus Gründen der Speichersicherheit, schreiten stetig voran.

Das „Rust for Linux“-Projekt wurde im vergangenen Oktober offiziell in den Git-Baum von Linux 6.1 integriert, wodurch Rust nach 31 Jahren ausschließlich C-basierter Entwicklung zur zweiten Sprache für die Linux-Entwicklung wurde.

„Wir wollen, dass gccrs ein echter Rust-Compiler ist und kein Spielzeugprojekt oder etwas, das eine Sprache kompiliert, die wie Rust aussieht, aber nicht Rust ist; Wir versuchen wirklich, diese Testsuite zum Laufen zu bringen“, fügte er hinzu. Während der Präsentation sagte Cohen auch, dass die Rust-Oberfläche von GCC 13 zwar einen guten Start hingelegt habe, aber noch viel zu tun sei. Geliehener Verifizierungscode fehlt derzeit auffällig, die Unterstützung für eingebaute und intrinsische Module ist noch im Gange, und der wichtige Meilenstein der Kompilierung von Rust-Code für Linux muss noch erreicht werden.

Zur Erinnerung, das Projekt „Rust for Linux“ zielt darauf ab, eine neue Systemprogrammiersprache in den Linux-Kernel einzuführen. Laut Experten hat die Rust-Sprache eine Schlüsseleigenschaft, die es sehr interessant macht, sie als zweite Sprache des Linux-Kernels zu betrachten: Sie stellt sicher, dass kein undefiniertes Verhalten auftritt (solange der unsichere Code vernünftig ist).

Dazu gehört das Fehlen von Fehlern wie After-Free-Use, Double-Frees, Data Races etc. Verwandte Debatten drehen sich um die Möglichkeit, C zugunsten der Rust-Sprache aufzugeben. Aber Linus Torvalds, der Schöpfer von Linux, sagte, dass dies nicht das erklärte Ziel des Rust for Linux-Projekts sei.

Schließlich Erwähnenswert ist, dass zwar die gccrs-Schnittstelle zusammengeführt wurde für die nächste Version von GCC 13, es ist noch nicht in einem Zustand, in dem die meisten Rust-Entwickler es tatsächlich verwenden können als Alternative zum offiziellen LLVM-Compiler von Rust.

Es sollte nicht vor dem nächsten Jahr sein, zumindest mit GCC 14 zumindest.

Quelle: https://fosdem.org/


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  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.