V GCC odobrili implementacijo RUST (gccrs)

Pred kratkim je novica to razkrila usmerjevalni odbor GCC je odobril vključitev izvedbe gccrs (GCC Rust) iz prevajalnika Rust v jedru GCC.

S tem GCC (Zbirka prevajalnika GNU) že imajo zaledje za Rust, s projektom rustc_codegen_gcc, ki ga je ustanovil Antoni Boucher. Še vedno je opisano kot delo v teku, vendar je bilo septembra 2021 združeno z glavnim skladiščem Rust.

Za tiste, ki ne obvladajo jezika Rust, morali bi vedeti, kaj jee se osredotoča na varno upravljanje pomnilnika in zagotavlja sredstva za doseganje visoke vzporednosti delovnih mest. Varno ravnanje s pomnilnikom, ki izključuje napake, kot je dostop do območja pomnilnika po njegovem sproščanju, dereferenciranje ničelnih kazalcev in prekoračitev meja medpomnilnika, je doseženo v Rustu v času prevajanja s preverjanjem referenc, sledenjem lastništvu objektov, upoštevanjem življenjske dobe objektov (obseg ) in ocenjevanje pravilnosti dostopa do pomnilnika med izvajanjem kode.

Rust zagotavlja tudi zaščito pred celoštevilskim prelivom, zahteva inicializacijo spremenljivk pred uporabo, bolje obravnava napake v standardni knjižnici, privzeto uveljavlja koncept referenc in nespremenljivih spremenljivk.

Po integraciji vmesnika ga je v standardnem GCC mogoče uporabiti za prevajanje programov Rust, ne da bi bilo treba namestiti prevajalnik rustc, zgrajen z zgradbami LLVM.

Od novembra 2020 sem polni delovni čas delal na vmesniku Rust za GCC, zahvaljujoč Open Source Security, Inc in Embecosm. Zato pišem na ta poštni seznam, da bi zgodaj poiskal povratne informacije iz skupne izkušnje tukaj, da načrtujem pot do nalaganja sprednjega dela v GCC.

Pomembnost tega projekta je njegova pomembnost za Linux, ki je na splošno zgrajen z GCC, kjer se načrti, da se zaradi varnosti pomnilnika omogoči uporaba Rusta skupaj s C za kodo jedra, nenehno premikajo naprej.

To pomeni, da prevajalnik Rust, rustc, se lahko uporablja z zaledjem GCC, Zaledje je generator kode, ki podpira več arhitektur CPE kot LLVM, Rustov običajni zaledni prevajalnik, čeprav obstajajo omejitve, kot je zahteva za popravljeno različico GCC.

Druga možnost je, da imate celotno orodno verigo GCC. Januarja 2021 je Open Source Security, Inc., izdelovalec utrjene različice jedra Linuxa, imenovane Grsecurity, dejal, da bo financiral "javno prizadevanje za razvoj" vmesnika GCC za Rust, ker je izboljšal varnost, ker ni imel za mešanje različnih prevajalnikov.

Z moje perspektive kot vodilnega v tem front-endu smo trenutno v težkem razvoju, tako da to pomeni precejšnjo količino kroženja kode še, in ne vidim, da bi se to spremenilo, dokler ne bomo uspešno prevedli škatla libcore pozneje letos. Čeprav bi se rada videla združen v GCC 13, želim zagotoviti, da bo ta projekt uspešen vse, kar bi lahko pomenilo vrnitev na naslednje okno izdaje da zagotovite, da je to obvladljivo, da ustvarite kakovosten sprednji del za sedenje junto drugim.

Podjetje je navedlo dokument, ki prikazuje, "kako se lahko zmanjša splošna varnost izvajalnega okolja z uvedbo kode, napisane v Rust ali drugem jeziku, kjer prevajalnik ne zagotavlja enake varnosti na binarni ravni."

Razvijalce gccrs spodbujamo, da začnejo sodelovati s skupinami za pregledovanje in GCC Change Release za dokončanje in odobritev popravkov v smislu izpolnjevanja tehničnih zahtev za kodo, ki bo dodana v GCC.

Ob predpostavki, da se razvoj gccrs nadaljuje po načrtih in da niso ugotovljene nepredvidene težave, vmesnik jezika Rust bo integriran v izdajo GCC 13, ki je predvidena za maj naslednje leto. Implementacija Rust v GCC 13 bo v stanju beta in še ni privzeto omogočena.

Končno če vas zanima več o tem o projektu si lahko ogledate podrobnosti v naslednjo povezavo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   qtrit je dejal

    Super, upam, da bo izvedba uporabna za številne programerje.