A GCC-ben jóváhagyták a RUST (gccrs) bevezetését.

Nemrégiben a hír ezt megszakította az ÖET Irányító Bizottsága jóváhagyta a gccrs megvalósításának felvételét (GCC Rust) a Rust fordítóból a GCC magban.

Azzal GCC (GNU fordítógyűjtemény) már van egy backend a Rust számára, az Antoni Boucher által alapított rustc_codegen_gcc projekten keresztül. Még mindig folyamatban lévő munkaként írják le, de 2021 szeptemberében beolvadt a fő Rust tárolóba.

Azoknak, akik nem ismerik a nyelvet Rozsda, tudniuk kellene, mi vanAz e a biztonságos memóriakezelésre összpontosít és biztosítja az eszközöket a magas szintű párhuzamosság eléréséhez. A biztonságos memóriakezelés, amely kizárja az olyan hibákat, mint például a memóriaterület elérése annak felszabadítása után, a nullmutatók hivatkozásának megszüntetése és a pufferhatárok túlcsordulása, a Rustban a fordítási időben érhető el a hivatkozások ellenőrzésével, az objektumok tulajdonjogának nyomon követésével és az objektumok élettartamának (hatóköreinek) figyelembevételével. ), valamint a memóriaelérés helyességének értékelése a kódvégrehajtás során.

Rozsda egész számok túlcsordulás elleni védelmét is biztosítja, megköveteli a változók inicializálását használat előtt, jobban kezeli a szabványos könyvtár hibáit, alapértelmezés szerint érvényesíti a hivatkozások és a megváltoztathatatlan változók fogalmát.

Az interfész integrálása után a szabványos GCC-ben Rust programok lefordítására használható az LLVM buildekkel épített rustc fordító telepítése nélkül.

2020 novembere óta teljes munkaidőben a GCC Rust front-endjén dolgozom, köszönhetően az Open Source Security, Inc. és az Embecosmnak. Ennek eredményeként azért írok erre a levelezőlistára, hogy mielőbb visszajelzést kérjek az itteni kollektív tapasztalatokról, hogy megtervezhessem a kezelőfelület GCC-be való feltöltésének útját.

Ennek a projektnek a jelentősége az általában GCC-vel épített Linux számára, ahol a memóriabiztonsági okokból a Rust C-vel együtt történő használatát lehetővé tévő tervek folyamatosan haladnak előre.

Ez azt jelenti, hogy a Rust fordító, rustc, használható a GCC háttérrendszerrel, A háttérrendszer a kódgenerátor, amely több CPU-architektúrát támogat, mint az LLVM, a Rust szokásos háttérfordítója, bár vannak korlátozások, például a GCC javított verziójának szükségessége.

Az alternatíva egy teljes GCC-eszközlánc. 2021 januárjában az Open Source Security, Inc, a Linux rendszermag Grsecurity nevű megerősített verziójának gyártója, azt mondta, hogy finanszírozni fogja a GCC-interfész "nyilvános fejlesztését" a Rust számára, azzal az indokkal, hogy javítja a biztonságot. különböző fordítóprogramok keverésére.

Az én szemszögemből, mint vezető ebben a front-endben, jelenleg mi vagyunk erős fejlesztés alatt áll, így ez megfelelő mennyiségű kódforgatást jelent még, és nem látom, hogy ez megváltozna, amíg nem tudjuk sikeresen lefordítani a libcore box még idén. Bár szívesen látnám egymást beolvadt a GCC 13-ba, biztos akarok lenni abban, hogy ez a projekt sikeres lesz minden, és ez azt jelentheti, hogy vissza kell térni a következő kiadási ablakhoz hogy megbizonyosodjon arról, hogy ez kezelhető, hogy minőségi front-endet állítson elő közösen másoknak.

A cég idézett egy tanulmányt, amely bemutatja, hogy "miként csökkenthető egy futási környezet általános biztonsága Rust vagy más nyelven írt kód bevezetésével, ahol a fordítóprogram nem biztosítja ugyanazt a bináris szintű biztonságot".

A gccrs fejlesztőit arra biztatjuk, hogy kezdjenek el dolgozni az ellenőrző csapatokkal és a GCC Change Release a javítások véglegesítésére és jóváhagyására a GCC-hez hozzáadandó kód technikai követelményeinek teljesítése szempontjából.

Feltéve, hogy a gccrs fejlesztése a tervek szerint folytatódik, és nem azonosítanak előre nem látható problémákat, a Rust nyelvű front-end beépül a jövő év májusára tervezett GCC 13 kiadásba. A GCC 13 Rust implementációja béta állapotú lesz, alapértelmezés szerint még nincs engedélyezve.

Végül ha érdekel, hogy többet tudjon meg róla a projektről a részletekről itt tájékozódhat a következő link.


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: AB Internet Networks 2008 SL
  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.

  1.   qtrit dijo

    Remek, remélem a megvalósítás sok programozó számára hasznos lesz.