Implementada a capacidade de construir Glibc usando o kit de ferramentas LLVM

Engenheiros da Collabora publicaram um relatório sobre a implementação de um projeto para garantir a montagem da biblioteca do sistema GNU C Library (glibc) usando o kit de ferramentas LLVM (Clang, LLD, compiler-rt) em vez do GCC. Até recentemente, o Glibc permanecia um dos componentes significativos das distribuições que apoiavam a construção apenas usando o GCC.

As dificuldades em adaptar Glibc para montagem usando LLVM são causadas por diferenças no comportamento de GCC e Clang ao processar certas construções (por exemplo, expressões com o símbolo $, funções aninhadas, rótulos em blocos asm, tipos long double e float128), e a necessidade de substituir o tempo de execução por libgcc no compilador-rt.

Para garantir a montagem do Glibc utilizando LLVM, foram preparados cerca de 150 patches para o ambiente Gentoo e 160 para o ambiente baseado em ChromiumOS. Em sua forma atual, a compilação no ChromiumOS já passou com sucesso no conjunto de testes, mas ainda não está habilitada por padrão. O próximo passo será transferir as alterações preparadas para a estrutura principal do Glibc e LLVM, continuar testando e corrigindo problemas atípicos que surgirem. Alguns dos patches já foram aceitos no branch Glibc 2.37.

Fonte: opennet.ru

Adicionar um comentário