Linux 7.3 se statečně blíží ke kompilaci Rustu s GCC

  • Linuxové jádro 7.3 obsahuje první opravy experimentálního backendu. rustc_codegen_gcc.
  • Cílem je rozšířit podporu Rustu na architektury, které nejsou pokryty LLVM, jako například m68k a Alpha.
  • Iniciativu vede vývojář Miguel Ojeda a jeho tým, ačkoli práce je stále experimentální.
  • To by mohlo urychlit přijetí Rustu ve vestavěných systémech a starším hardwaru.

Linux 7.3 s podporou Rustu

Linux se neustále vyvíjí a ačkoli mnoho nových funkcí zůstává bez povšimnutí, každá verze jádra přináší změny, které dláždí cestu do budoucna. Tentokrát příchod Linuxu 7.3 odstartoval sérii úprav s konkrétním cílem: umožnit kompilaci kódu Rustu s GCC, kromě standardního kompilátoru LLVM. Tato flexibilita by mohla otevřít dveře mnoha architekturám, které byly dříve z ekosystému jádra Rustu vyloučeny.

Nejedná se o bezprostřední skok ani radikální změnu ze dne na den. Vývojáři, kteří se na tom podílejí, pod záštitou týmu Miguela Ojedy , právě podali žádost o integraci s prvními úpravami, které zajistí, aby se generátor kódu rustc_codegen_gcc pevně etabloval v Linuxu 7.3. Hlavní výhodou tohoto backendu je, že GCC transformuje kód Rustu do strojových instrukcí, a tím podporuje architektury jako m68k nebo Alpha , které postrádají podporu LLVM – což je obzvláště užitečné ve světě vestavěných systémů a mikrokontrolérů.

Linux 7.0 je nyní k dispozici
Související článek:
Linux 7.0 je nyní k dispozici: klíčové změny v novém jádře

Záloha, která nezabírá místo v LLVM

Skutečnost, že jádro dostává tyto počáteční opravy, neznamená, že LLVM bude odsunuto na druhořadou pozici. Naopak, LLVM zůstane primárním přístupem pro většinu běžných architektur. Cílem je jednoduše mít robustní alternativu: způsob, jak dosáhnout veškerého hardwaru, který LLVM nedokáže. Tímto krokem Linux opět demonstruje svou schopnost přizpůsobit se různým prostředím a využívá možnosti projektu GCC při generování kódu Rust.

Linux 7.3 a jeho integrace s Rustem

Je důležité nezaměňovat tuto iniciativu s jinými projekty, jako je gccrs , což je kompletní kompilátor Rust založený na GCC. Zde se rustc_codegen_gcc spoléhá na kompilátor rustc , ale využívá optimalizační infrastrukturu GCC. Výhodou je, že využívá optimalizační techniky GCC a jeho podporu pro mnohem více architektur než LLVM, což by mohlo Rustu umožnit prosazení se na specializovaných platformách.

Co to znamená pro budoucí vývoj?

Cesta k plné integraci je stále dlouhá a kód je stále označen jako „experimentální“. Příchod těchto oprav v Linuxu 7.3 však představuje začátek práce, která se zdá být ve střednědobém horizontu prospěšná. Dále byly zahrnuty opravy, které mají zabránit budoucím varováním Clang a aktualizacím modulů jádra, což demonstruje jasný závazek k udržování kompatibility s nejnovějšími kompilačními nástroji.

Z pohledu uživatele nebudou tyto změny okamžitě znatelné, ale budou mít dopad na údržbu a použitelnost. Vývojářská komunita tento vývoj pečlivě sleduje a to, co je v současnosti experimentálním základem, by se nakonec mohlo ukázat jako zásadní pro dosažení mnohem širšího dosahu Rustu. Klíčové je, aby se jádro připravovalo na to, aby s tímto novým vývojem drželo krok, a tato práce často probíhá dříve, než si jí uživatel vůbec všimne.

Linux 6.18
Související článek:
Linux 6.18 upevňuje svou pozici klíčového jádra díky výrazným vylepšením výkonu, zabezpečení a hardwarové podpory.

Linux si nadále upevňuje svou pozici mnohem všestrannějšího systému a toto úsilí o rozšíření možností Rustu je důležitou součástí této strategie. Není to dramatická změna, ale je to pokrok, který by se nakonec mohl ukázat jako nezbytný pro širší škálu zařízení. Prozatím Linux 7.3 slouží jako odrazový můstek k tomu, co by mohlo být větší podporou Rustu v méně konvenčních prostředích, a to díky hybridizaci, která již probíhá s kompilátorem GCC.


Přidat jako preferovaný zdroj v Googlu