Compilar o kernel Linux com LLVM Clang fica mais simples

Por
Claylson Martins
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.

Houve uma grande evolução na realização deste processo.

Nos últimos anos, tornou-se possível compilar o kernel Linux principal com LLVM/Clang em comparação com a dependência antiga do uso do compilador GCC. Embora tenha sido possível por mais de 3 anos usar o kernel Linux principal e o Clang principal para criar um kernel x86_64 e AArch64 funcional, o processo e o suporte continuam a amadurecer. Portanto, compilar o kernel Linux com LLVM Clang fica mais simples.

Nathan Chancellor, que mantém o esforço “ClangBuiltLinux” graças ao financiamento da The Linux Foundation e do Google, escreveu um resumo de 2022 das realizações feitas no ano passado.

Compilando o kernel Linux com LLVM Clang

O trabalho de Nathan Chancellor no esforço “ClangBuiltLinux” em 2022 incluiu abordar muitos avisos do compilador no kernel, alterações relacionadas à integridade do fluxo de controle (CFI), tornando o manuseio da variável de ambiente LLVM mais flexível, melhorias nas ferramentas e outros trabalhos. Além de muitos testes para garantir que nada interrompa o código Git do kernel Linux mais recente, bem como o código do compilador LLVM/Clang mais recente e garantir que os sinalizadores apropriados sejam mantidos etc.

Compilar o kernel Linux com LLVM Clang fica mais simples

Os interessados ??em aprender mais sobre os avanços feitos no ano passado na compilação do kernel do Linux com o Clang podem aprender mais em nathachance.dev. De forma mais geral, o status de compilação mais recente e outras informações do projeto ClangBuiltLinux podem ser encontrados no GitHub.

LLVM oferece suporte para Emerald Rapids da Intel

O suporte para os processadores Xeon Scalable “Emerald Rapids” da Intel de próxima geração com -march=emeraldrapids agora ganharam suporte para a pilha do compilador LLVM 16.

Esse suporte LLVM para Intel Emerald Rapids segue imediatamente a empresa que adicionou o suporte Emerald Rapids ao GCC 13.

Tal como acontece com o patch GCC, o suporte LLVM está seguindo o conjunto de recursos existente do Sapphire Rapids. O patch simplesmente adiciona a nova opção de segmentação “emeraldrapids” e, em seguida, segue os caminhos do Sapphire Rapids, além de adicionar suporte à detecção com base no modelo Intel 0xcf. Pelo menos até agora não parece haver nenhuma adição de ISA com Emerald Rapids sobre Xeon Scalable 4th Gen Sapphire Rapids.

image 2023 01 06T064220.877

Assim como o GCC, o LLVM já oferece suporte ao Granite Rapids, que é o sucessor do Emerald Rapids. Juntamente com o suporte Granite Rapids e Emerald Rapids, o LLVM 16 também adiciona suporte para processadores cliente Meteor Lake, Sierra Forest e CPUs Grand Ridge.

O suporte -march=emeraldrapids foi mesclado por meio deste commit para LLVM 16 antes do lançamento estável provavelmente no período de ~ março.

Compartilhe este artigo