gccrs será integrado ao GCC 13

gccrs

gccrs é uma implementação alternativa completa da linguagem Rust sobre o GCC

Recentemente foi revelado que o projeto gccrs, cujo objetivo é fornecer uma interface da linguagem Rust para GCC (GNU Compiler Collection), está a caminho de ser integrado ao GCC 13.  Na conferência de desenvolvedores FOSDEM no início deste mês, o engenheiro Arthur Cohen fez uma apresentação sobre gccrs descrevendo o estado atual do trabalho.

Para quem não conhece o projeto gccrs, saiba que este é uma implementação alternativa completa da linguagem Rust no topo do GCC com o objetivo de se tornar totalmente a cadeia de ferramentas GNU.

A origem deste projeto é um esforço da comunidade há vários anos, quando o Rust ainda estava na versão 0.9; a linguagem criada pela Mozilla estava sujeita a tantas mudanças que se tornou difícil para um esforço da comunidade alcançá-la.

Agora que a linguagem está estável, é hora de criar compiladores alternativos:

“Iniciado em 2014 (e relançado em 2019), o esforço continua desde 2020 e temos feito muito esforço e muito progresso. Nós carregamos a primeira versão do gccrs dentro do GCC. Então, da próxima vez que você instalar o GCC 13, ele terá o gccrs dentro.

Você pode usá-lo e começar a hackeá-lo, pode relatar os problemas quando ele inevitavelmente travar e morrer horrivelmente. Uma grande coisa que estamos fazendo é trabalhar para fazer o conjunto de testes rustc funcionar”, disse Arthur Cohen durante sua apresentação na conferência FOSDEM no início deste mês.

A capacidade de executar com sucesso o conjunto de testes do compilador rustc também continua sendo uma meta. De acordo com Cohen, A interface GCC do Rust também aponta para o Rust libcore 1.49 mais antigo.

O FAQ do projeto gccrs observa que todas as tecnologias de compilação LLVM, que são usadas pelo Rust, "faltam alguns back-ends compatíveis com GCC, então uma implementação gccrs pode preencher as lacunas para uso no desenvolvimento embarcado".

Observe, no entanto, que o compilador Rust-GCC (gccrs) ainda está em um estágio muito inicial e ainda não pode ser usado para compilar programas Rust reais.

A equipe do GCC votou em julho passado para aprovar a integração do gccrs como um conjunto de construção. A importância deste projeto reside em sua importância para o kernel do Linux. Na verdade, o kernel do Linux geralmente é construído com GCC, mas os planos para permitir que a linguagem Rust seja usada junto com C para o código do kernel, por razões de segurança de memória, estão progredindo constantemente.

O projeto "Rust for Linux" se fundiu oficialmente na árvore principal do Linux 6.1 Git em outubro passado, tornando o Rust a segunda linguagem dedicada ao desenvolvimento do Linux, após 31 anos de desenvolvimento exclusivamente baseado em C.

“Queremos que o gccrs seja um verdadeiro compilador Rust e não um projeto de brinquedo ou algo que compila uma linguagem que se parece com Rust, mas não é Rust; estamos realmente tentando fazer esse conjunto de testes funcionar”, acrescentou. Durante a apresentação, Cohen também disse que, embora a interface Rust do GCC 13 tenha um bom começo, ainda há muito trabalho a ser feito. O código de verificação emprestado está visivelmente ausente no momento, o suporte para módulos integrados e intrínsecos ainda está em andamento e o importante marco de compilar o código Rust para Linux ainda não foi alcançado.

Lembrando que o projeto "Rust for Linux" visa introduzir uma nova linguagem de programação de sistema no kernel do Linux. Segundo especialistas, a linguagem Rust possui uma propriedade chave que a torna muito interessante para ser considerada a segunda linguagem do kernel do Linux: ela garante que nenhum comportamento indefinido ocorra (desde que o código inseguro seja são).

Isso inclui a ausência de erros como uso pós-livre, liberações duplas, corridas de dados, etc. Debates relacionados giram em torno da possibilidade de abandonar o C em favor da linguagem Rust. Mas Linus Torvalds, o criador do Linux, disse que esse não é o objetivo declarado do projeto Rust for Linux.

Finalmente, Vale ressaltar que embora a interface gccrs tenha sido mesclada para a próxima versão do GCC 13, ainda não está em um estado em que a maioria dos desenvolvedores Rust possa realmente usá-lo como uma alternativa ao compilador LLVM oficial do Rust.

Não deve ser até o próximo ano, pelo menos com o GCC 14, pelo menos.

fonte: https://fosdem.org/


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.