A gccrs beépül a GCC 13-ba

gccrs

A gccrs a Rust nyelv teljes alternatív megvalósítása a GCC felett

Nemrég kiderült, hogy a gccrs projekt, amelynek célja, hogy felületet biztosítson a Rust nyelvhez a GCC-hez (GNU Compiler Collection), úton van a GCC 13-ba való integrálása felé.  A hónap elején a FOSDEM fejlesztői konferencián Arthur Cohen mérnök előadást tartott a gccrs-ről, felvázolva a munka jelenlegi állását.

Azok számára, akik nincsenek tisztában a gccrs projekttel, tudniuk kell, hogy ez az a Rust nyelv teljes alternatív megvalósítása a GCC-n felül azzal a céllal, hogy teljes mértékben a GNU eszközláncává váljon.

A projekt eredete egy több évvel ezelőtti közösségi erőfeszítés, amikor a Rust még a 0.9-es verzión volt; a Mozilla által megalkotott nyelv annyi változáson ment keresztül, hogy a közösségi erőfeszítések nehezen tudtak felzárkózni.

Most, hogy a nyelv stabil, itt az ideje alternatív fordítók létrehozásának:

„A 2014-ben kezdődő (és 2019-ben újraindított) erőfeszítés 2020 óta tart, és rengeteg erőfeszítést tettünk és sokat fejlődtünk. Feltöltöttük a gccrs első verzióját a GCC-n belül. Tehát ha legközelebb telepíted a GCC 13-at, akkor benne lesz a gccrs.

Használhatja és elkezdheti feltörni, jelentheti a problémákat, amikor elkerülhetetlenül összeomlik és szörnyen meghal. Az egyik nagy dolog, amit csinálunk, azon dolgozunk, hogy a rustc tesztcsomag működjön” – mondta Arthur Cohen a hónap elején a FOSDEM konferencián tartott előadásában.

A rustc fordító tesztcsomag sikeres futtatása szintén cél marad. Cohen szerint A Rust GCC felülete a régebbi Rust libcore 1.49-re is mutat.

A gccrs projekt GYIK megjegyzi, hogy a Rust által használt összes LLVM build technológia „hiányzik néhány GCC-kompatibilis háttérrendszer, így a gccrs implementáció kitöltheti a hiányosságokat a beágyazott fejlesztés során”.

Megjegyzendő azonban, hogy a Rust-GCC fordító (gccrs) még nagyon korai szakaszban van, és még nem használható tényleges Rust programok fordítására.

A GCC csapata tavaly júliusban megszavazta a gccrs integrációját építőkészletként. Ennek a projektnek a jelentősége abban rejlik, hogy fontos a Linux kernel számára. Valójában a Linux kernelt általában GCC-vel építik, de a tervek, hogy memóriabiztonsági okokból a Rust nyelvet is C-vel együtt használják kernelkódhoz, folyamatosan haladnak előre.

A "Rust for Linux" projekt tavaly októberben hivatalosan beolvadt a fő Linux 6.1 Git fába, így a Rust a második Linux-fejlesztési nyelv lett, 31 év, kizárólag C-alapú fejlesztés után.

„Azt akarjuk, hogy a gccrs egy igazi Rust fordító legyen, és ne egy játékprojekt vagy valami olyan nyelvet fordítson le, amely Rust-nak néz ki, de nem Rust; valóban arra törekszünk, hogy ez a tesztcsomag működjön” – tette hozzá. A prezentáció során Cohen azt is elmondta, hogy bár a GCC 13 Rust felülete jól indul, még mindig sok a tennivaló. A kölcsönzött ellenőrző kód jelenleg feltűnően hiányzik, a beépített és belső modulok támogatása még mindig folyamatban van, és a Rust-kód Linuxra fordításának fontos mérföldkövét még el kell érni.

Emlékeztetőül a projekt A "Rust for Linux" célja egy új rendszerprogramozási nyelv bevezetése a Linux kernelbe. Szakértők szerint a Rust nyelvnek van egy kulcsfontosságú tulajdonsága, ami nagyon érdekessé teszi, hogy a Linux kernel második nyelveként tekintsünk rá: biztosítja, hogy ne forduljon elő definiálatlan viselkedés (amíg a nem biztonságos kód épeszű).

Ez magában foglalja az olyan hibák hiányát, mint az utólagos használat, a dupla felszabadítások, az adatversenyek stb. A kapcsolódó viták a C mellőzésének lehetősége körül forognak a Rust nyelv javára. Linus Torvalds, a Linux megalkotója azonban azt mondta, hogy a Rust for Linux projektnek nem ez a kimondott célja.

Végül, Érdemes megemlíteni, hogy bár a gccrs felületet összevonták a GCC 13 következő verziójához, még nincs olyan állapotban, ahol a legtöbb Rust fejlesztő ténylegesen használhatná a Rust hivatalos LLVM fordítójának alternatívájaként.

Legkésőbb jövőre, legalábbis a GCC 14-nél.

forrás: https://fosdem.org/


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.