gccrs wordt geïntegreerd in GCC 13

gccrs

gccrs is een volledig alternatieve implementatie van de Rust-taal via GCC

Dat bleek onlangs het gccrs-project, wiens doel het is om een ​​interface te bieden voor de Rust-taal naar GCC (GNU Compiler Collection), is onderweg om te worden geïntegreerd in GCC 13.  Op de FOSDEM-ontwikkelaarsconferentie eerder deze maand gaf ingenieur Arthur Cohen een presentatie over gccrs waarin hij de huidige stand van zaken schetste.

Voor degenen die niet op de hoogte zijn van het gccrs-project, ze moeten weten dat dit zo is een volledig alternatieve implementatie van de Rust-taal bovenop GCC met als doel volledig de GNU-toolchain te worden.

De oorsprong van dit project is een inspanning van de gemeenschap enkele jaren geleden, toen Rust nog op versie 0.9 zat; de door Mozilla gecreëerde taal was aan zoveel veranderingen onderhevig dat het voor een gemeenschap moeilijk werd om bij te blijven.

Nu de taal stabiel is, is het tijd om alternatieve compilers te maken:

“Begonnen in 2014 (en opnieuw gelanceerd in 2019), de inspanning is aan de gang sinds 2020 en we hebben veel moeite gedaan en veel vooruitgang geboekt. We hebben de eerste versie van gccrs binnen GCC geüpload. Dus de volgende keer dat u GCC 13 installeert, bevat het gccrs.

Je kunt het gebruiken en je kunt het gaan hacken, je kunt de problemen melden wanneer het onvermijdelijk crasht en vreselijk sterft. Een groot ding dat we doen, is werken aan het laten werken van de rustc-testsuite, 'zei Arthur Cohen tijdens zijn presentatie op de FOSDEM-conferentie eerder deze maand.

De mogelijkheid om de rustc compiler-testsuite met succes uit te voeren, blijft ook een doel. Volgens Cohen, De GCC-interface van Rust verwijst ook naar oudere Rust libcore 1.49.

In de veelgestelde vragen over het gccrs-project wordt opgemerkt dat alle LLVM-buildtechnologieën, die door Rust worden gebruikt, "een aantal GCC-compatibele backends missen, dus een gccrs-implementatie kan de hiaten opvullen voor gebruik in ingebedde ontwikkeling".

Merk echter op dat de Rust-GCC-compiler (gccrs) zich nog in een zeer vroeg stadium bevindt en nog niet kan worden gebruikt om echte Rust-programma's te compileren.

Het GCC-team heeft afgelopen juli gestemd om de gccrs-integratie goed te keuren als een build-suite. Het belang van dit project ligt in het belang ervan voor de Linux-kernel. In feite wordt de Linux-kernel meestal gebouwd met GCC, maar plannen om de Rust-taal naast C voor kernelcode te gebruiken, om redenen van geheugenveiligheid, vorderen gestaag.

Het "Rust for Linux"-project is afgelopen oktober officieel samengevoegd met de belangrijkste Linux 6.1 Git-structuur, waardoor Rust de tweede taal is die zich toelegt op Linux-ontwikkeling, na 31 jaar uitsluitend op C gebaseerde ontwikkeling.

“We willen dat gccrs een echte Rust-compiler is en geen speelgoedproject of iets dat een taal compileert die op Rust lijkt, maar het niet is; we proberen echt om deze testsuite te laten werken, 'voegde hij eraan toe. Tijdens de presentatie zei Cohen ook dat hoewel de Rust-interface van GCC 13 goed van start is gegaan, er nog veel werk aan de winkel is. Geleende verificatiecode is op dit moment opvallend afwezig, ondersteuning voor ingebouwde en intrinsieke modules is nog aan de gang en de belangrijke mijlpaal van het compileren van Rust-code voor Linux moet nog worden bereikt.

Ter herinnering, het project "Rust for Linux" heeft tot doel een nieuwe systeemprogrammeertaal in de Linux-kernel te introduceren. Volgens experts heeft de Rust-taal een sleuteleigenschap die het erg interessant maakt om te beschouwen als de tweede taal van de Linux-kernel: het zorgt ervoor dat er geen ongedefinieerd gedrag optreedt (zolang de onveilige code gezond is).

Dit omvat de afwezigheid van fouten zoals after-free gebruik, dubbele frees, dataraces, etc. Gerelateerde debatten draaien om de mogelijkheid om C te laten vallen ten gunste van de Rust-taal. Maar Linus Torvalds, de maker van Linux, zei dat dit niet het verklaarde doel is van het Rust for Linux-project.

Tenslotte Het is vermeldenswaard dat hoewel de gccrs-interface is samengevoegd voor de volgende versie van GCC 13, het is nog niet in een staat waarin de meeste Rust-ontwikkelaars het daadwerkelijk kunnen gebruiken als alternatief voor de officiële LLVM-compiler van Rust.

Het zou pas volgend jaar moeten zijn, tenminste met GCC 14 tenminste.

bron: https://fosdem.org/


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.