GCC:ssä he hyväksyivät RUST:n (gccrs) käyttöönoton.

Äskettäin uutiset rikkoivat sen GCC:n ohjauskomitea on hyväksynyt gccrs-toteutuksen sisällyttämisen (GCC Rust) Rust-kääntäjästä GCC-ytimessä.

Sen kanssa GCC (GNU Compiler Collection) on jo taustaohjelma RustilleAntoni Boucherin perustaman rustc_codegen_gcc-projektin kautta. Sitä kuvataan edelleen keskeneräiseksi työksi, mutta se yhdistettiin Rust-päävarastoon syyskuussa 2021.

Niille, jotka eivät osaa kieltä Ruoste, heidän pitäisi tietää mikä one keskittyy turvalliseen muistinhallintaan ja tarjoaa välineet korkean työn rinnakkaisuuden saavuttamiseen. Turvallinen muistinkäsittely, joka sulkee pois virheet, kuten pääsyn muistialueelle sen vapauttamisen jälkeen, nollaosoittimien poistaminen ja puskurin rajojen ylivuoto, saavutetaan Rustissa käännöshetkellä tarkistamalla viitteitä, seuraamalla objektien omistajuutta ja laskemalla objektien käyttöikää (laajuudet). ) ja muistin käytön oikeellisuuden arvioiminen koodin suorittamisen aikana.

Ruoste tarjoaa myös kokonaislukujen ylivuotosuojauksen, vaatii muuttujien alustuksen ennen käyttöä, käsittelee paremmin standardikirjaston virheet, pakottaa oletuksena viittausten ja muuttumattomien muuttujien käsitteen.

Käyttöliittymän integroinnin jälkeen sitä voidaan käyttää tavallisessa GCC:ssä Rust-ohjelmien kääntämiseen ilman, että tarvitsee asentaa LLVM-koontiversioilla rakennettua rustc-kääntäjää.

Marraskuusta 2020 lähtien olen työskennellyt kokopäiväisesti GCC:n Rust-käyttöliittymän parissa Open Source Security, Inc:n ja Embecosmin ansiosta. Tämän seurauksena kirjoitan tälle postituslistalle pyytääkseni palautetta kollektiivisesta kokemuksesta täällä aikaisin, jotta voisin suunnitella polun käyttöliittymän lataamiseen GCC:hen.

Tämän projektin tärkeys on sen merkitys Linuxille, joka on yleensä rakennettu GCC:llä, jossa suunnitelmat sallia Rustin käytön C:n rinnalla ytimen koodissa muistin turvallisuussyistä etenevät jatkuvasti.

Tämä tarkoittaa, että Rust-kääntäjä, rustc, voidaan käyttää GCC-taustajärjestelmän kanssa, Tausta on koodigeneraattori, joka tukee useampaa suoritinarkkitehtuuria kuin LLVM, Rustin tavallinen taustakääntäjä, vaikka siinä on rajoituksia, kuten GCC:n korjatun version vaatiminen.

Vaihtoehtona on koko GCC-työkaluketju. Tammikuussa 2021 Open Source Security, Inc, joka valmistaa Linux-ytimen kovettunutta versiota nimeltä Grsecurity, sanoi rahoittavansa GCC-rajapinnan "julkista kehitystyötä" Rustille sillä perusteella, että se paransi turvallisuutta. sekoittaa erilaisia ​​kääntäjiä.

Minun näkökulmastani tämän käyttöliittymän johtajana olemme tällä hetkellä raskaan kehityksen alla, joten tämä tarkoittaa melkoista määrää koodin kiertämistä vielä, enkä näe tämän muuttuvan ennen kuin voimme kääntää onnistuneesti libcore-laatikko myöhemmin tänä vuonna. Vaikka haluaisin nähdä toisiamme yhdistettiin GCC 13:een, haluan varmistaa, että tämä projekti on menestys kaikki, ja tämä voi tarkoittaa palaamista seuraavaan julkaisuikkunaan varmistaaksesi, että tämä on hallittavissa tuottaaksesi laadukkaan etuosan istumiseen yhdessä muille.

Yhtiö lainasi paperia, joka osoittaa, "miten ajonaikaisen ympäristön yleistä turvallisuutta voidaan vähentää ottamalla käyttöön Rust-kielellä tai muulla kielellä kirjoitettu koodi, jossa kääntäjä ei tarjoa samaa binääritason suojausta."

gccrs-kehittäjiä kehotetaan aloittamaan työskentely tarkistustiimien kanssa ja GCC Change Release viimeistelemään ja hyväksymään korjaustiedostoja GCC:hen lisättävän koodin teknisten vaatimusten täyttämiseksi.

Olettaen, että gccrs:n kehitys jatkuu suunnitellusti eikä odottamattomia ongelmia havaita, Rust-kielen käyttöliittymä integroidaan ensi vuoden toukokuussa julkaistavaan GCC 13 -julkaisuun. GCC 13:n Rust-toteutus on beta-tilassa, ei ole oletuksena vielä käytössä.

Vihdoin jos olet kiinnostunut tietämään siitä lisää projektista voit tutustua yksityiskohtiin osoitteessa seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   qtrit dijo

    Hienoa, toivottavasti toteutuksesta on hyötyä monille ohjelmoijille.