gccrs bude integrován do GCC 13

gccrs

gccrs je kompletní alternativní implementace jazyka Rust přes GCC

Nedávno to vyšlo najevo projekt gccrs, jejímž cílem je poskytnout rozhraní pro jazyk Rust pro GCC (GNU Compiler Collection), je na cestě k integraci do GCC 13.  Na vývojářské konferenci FOSDEM začátkem tohoto měsíce přednesl inženýr Arthur Cohen prezentaci o gccrs, která nastínila současný stav práce.

Pro ty, kteří neznají projekt gccrs, by měli vědět, že to je kompletní alternativní implementace jazyka Rust nad GCC s cílem stát se plně GNU toolchainem.

Původ tohoto projektu je snaha komunity před několika lety, kdy byl Rust ještě ve verzi 0.9; jazyk vytvořený Mozillou prošel tolika změnami, že bylo pro komunitu obtížné je dohnat.

Nyní, když je jazyk stabilní, je čas vytvořit alternativní kompilátory:

„Zahájeno v roce 2014 (a znovu spuštěno v roce 2019), úsilí pokračuje od roku 2020 a udělali jsme hodně úsilí a velký pokrok. Nahráli jsme první verzi gccrs uvnitř GCC. Takže až příště nainstalujete GCC 13, bude mít uvnitř gccrs.

Můžete ji použít a můžete ji začít hackovat, můžete nahlásit problémy, když nevyhnutelně havaruje a strašlivě zemře. Jedna velká věc, kterou děláme, je, že pracujeme na tom, aby testovací sada rustc fungovala,“ řekl Arthur Cohen během své prezentace na konferenci FOSDEM začátkem tohoto měsíce.

Cílem také zůstává schopnost úspěšně spustit testovací sadu kompilátoru rustc. Podle Cohena, GCC rozhraní Rustu také ukazuje na starší Rust libcore 1.49.

Projekt gccrs FAQ poznamenává, že všechny technologie sestavení LLVM, které používá Rust, "postrádají některé backendy kompatibilní s GCC, takže Implementace gccrs může vyplnit mezery pro použití ve vestavěném vývoji".

Všimněte si však, že kompilátor Rust-GCC (gccrs) je stále ve velmi rané fázi a nelze jej zatím použít ke kompilaci skutečných programů Rust.

Tým GCC loni v červenci hlasoval pro schválení integrace gccrs jako sestava. Význam tohoto projektu spočívá v jeho důležitosti pro linuxové jádro. Ve skutečnosti je linuxové jádro obvykle sestaveno s GCC, ale plány umožnit použití jazyka Rust spolu s C pro kód jádra z důvodů bezpečnosti paměti neustále postupují.

Projekt „Rust for Linux“ se oficiálně začlenil do hlavního stromu Linux 6.1 Git loni v říjnu, čímž se Rust stal druhým jazykem věnovaným vývoji Linuxu po 31 letech vývoje výhradně na bázi C.

„Chceme, aby gccrs byl skutečný kompilátor Rust a ne projekt hraček nebo něco, co kompiluje jazyk, který vypadá jako Rust, ale není Rust; opravdu se snažíme, aby tato testovací sada fungovala,“ dodal. Během prezentace Cohen také řekl, že i když je rozhraní Rust GCC 13 dobře nastartováno, zbývá ještě hodně práce. V tuto chvíli zjevně chybí vypůjčený ověřovací kód, podpora vestavěných a vnitřních modulů stále probíhá a důležitý milník kompilace kódu Rust pro Linux ještě nebyl dosažen.

Pro připomenutí, projekt "Rust pro Linux" si klade za cíl zavést nový systémový programovací jazyk do linuxového jádra. Podle odborníků má jazyk Rust klíčovou vlastnost, díky které je velmi zajímavé jej považovat za druhý jazyk linuxového jádra: zajišťuje, že nedojde k žádnému nedefinovanému chování (pokud je nezabezpečený kód zdravý).

To zahrnuje absenci chyb, jako je after-free use, double frees, data races atd. Související debaty se točí kolem možnosti vypuštění C ve prospěch jazyka Rust. Ale Linus Torvalds, tvůrce Linuxu, řekl, že to není stanovený cíl projektu Rust for Linux.

Konečně, Za zmínku stojí, že ačkoli rozhraní gccrs bylo začleněno pro další verzi GCC 13, ještě není ve stavu, kdy by jej většina vývojářů Rust skutečně mohla používat jako alternativa k oficiálnímu kompilátoru LLVM společnosti Rust.

Mělo by to být až příští rok, alespoň s GCC 14 minimálně.

zdroj: https://fosdem.org/


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.