Rust-Frontend im Werden: GNU-Compilersammlung GCC sammelt Feedback der Community

Seit November 2020 arbeitet ein Entwickler am neuen Rust-Frontend für GCC. Damit die Compilersammlung ab GCC 13 auch Rust kann, ist nun die Community gefragt.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Ein neues Rust-Frontend für die GNU Compiler Collection (GCC) befindet sich im Entstehen: Rust-GCC soll eine Alternative zu Rusts offiziellem Compiler sein, der auf LLVM basiert. Geplant ist laut Mailingliste ein Upstream mit einem der kommenden Releases, was frühestens mit GCC 13 geschehen kann. Allerdings steht Rust-GCC zum jetzigen Zeitpunkt noch unter dem Vorbehalt, nicht Feature-komplett zu sein. Seit November 2020 arbeitet der Rust-Entwickler Philip Herron an dem neuen Frontend, und die Community ist nun aufgerufen, Feedback und Verbesserungsvorschläge einzureichen.

Zu diesem Zweck hat Herron über die Mailingliste eine Diskussion eröffnet, an der sich GCC-Upstream-Entwicklerinnen und -Entwickler beteiligen können. Gefragt sind insbesondere Vorschläge zum Reviewprozess, wie das Mergen des ausgesprochen großen Features in die Compilersammlung sich am besten abwickeln ließe, und Einschätzungen, ab welchem Entwicklungsstand das Rust-Frontend reif ist für den Upstream. In der Mailingliste stellt er dazu fünf konkrete Fragen, für die er auf diesem Weg nach Anregungen und Erfahrungen aus der Community sucht:

  1. Wie genau der Merging-Prozess vonstatten geht und wieviel Zeit das Team für die Reviewphase einplanen sollte (auch, wie sich der Prozess vereinfachen ließe).
  2. Welche Qualität die GCC-Community erwartet und wie Teile des Features sich als experimentell markieren lassen.
  3. Wie genau das Mergen bei GCC funktioniert, ob es nur in einem bestimmten Zeitfenster möglich ist und ob ein Upstream bereits ohne den Borrow Checker sinnvoll ist (falls dieser sich in der Zukunft zurückportieren ließe).
  4. Ob ein früher Merge von Vor- oder Nachteil sei.
  5. Welche Erfahrungen und Ratschläge andere haben.

Herron würde demzufolge lieber früher als später den Upstream vornehmen, gibt allerdings zu bedenken, dass das Projekt sich gerade noch in einer intensiven Entwicklungsphase befindet. Der Frontend-Entwickler peilt den Merge zurzeit nach eigenen Aussagen für November 2022 an. Seiner Einschätzung nach sollte Rust-GCC ungefähr zu diesem Zeitpunkt in der Lage sein, Rust-Code der Version 1.40 zu verarbeiten und die wesentlichen Standardbibliotheken einzusetzen (Wiederverwendung von libcore, liballoc und libstd) – stets unter dem Vorbehalt: "sofern nichts Unerwartetes in die Entwicklung reingrätscht".

Zudem gibt Herron an, dass das angepeilte Datum einige Features wie den Borrow-Checker und den Proc Macro Crate noch nicht berücksichtigt. Deren Implementierung werde wohl ein weiteres halbes Jahr an Projektzeit in Anspruch nehmen. Sollte die Mehrheit der Community dazu raten, abzuwarten, kann Herron sich zugunsten der Qualität und Feature-Reife auch einen Upstream zu einem späteren Datum, beispielsweise mit dem Release von GCC 14 vorstellen.

Logo des Projekts Rust-GCC bei GitHub

(Bild: Rust GCC/gccrs (GitHub))

Dass Herron dem Projekt in Vollzeit nachgehen kann, verdankt er laut Eintrag in der GCC-Mailingliste seinem Arbeitgeber Embecosm, einem Anbieter für die quelloffene Software-Tool-Chain, und dem Unternehmen Open Source Security, Inc., das sich um Systemsicherheit speziell im Linux- und Open-Source-Bereich kümmert. Beide Unternehmen unterstützen das Anliegen, dass die Compilersammlung künftig auch in Rust geschriebenen Code kompilieren kann.

Die Programmiersprache befindet sich zurzeit stark im Aufwind: So konnte Rust bei der aktuellen Stack-Overflow-Umfrage zum siebten Mal in Folge Platz 1 besetzen, und auch die Pläne für Rust-Infrastruktur im Linux-Kernel konkretisieren sich offenbar. Nach Aussagen von Linus Torvalds steht ein Merge ab Linux 5.20 im Raum, also kurz vor dem geplanten Merge des Rust-Frontends in die Compilersammlung GCC.

Weitere Details zum Frontend-Projekt lassen sich Philip Herrons Eintrag vom 27. Juni 2022 in der GCC-Mailingliste entnehmen. Darin stehen auch die Kontaktmöglichkeiten und wie Interessierte sich aktiv einbringen können. Auf GitHub hat Rust-GCC ein eigenes Repository.

(sih)