Confira !!
Os engenheiros do Google enviaram seus patches mais recentes para permitir que o kernel Linux principal seja construído com LLVM Clang link-time otimizations (LTO) para maior desempenho e possivelmente benefícios de tamanho.
A equipe do Google fez um bom trabalho não apenas trabalhando no suporte principal do Clang para o kernel do Linux, como AArch64 e x86_64, mas também com outros recursos relacionados de interesse para eles, como as habilidades do Clang LTO, que internamente já utilizam extensivamente. Este trabalho de upstreaming está em andamento há muitos meses.
Além dos benefícios de desempenho, as otimizações de tempo de link do Clang para o kernel também são necessárias para permitir que o Clang Control-Flow Integrity (CFI) seja usado. O Google observa que eles usaram uma compilação Clang LTO + CFI para seu kernel Linux em "milhões de dispositivos Pixel" com Android desde 2018.
As mudanças necessárias para a árvore do kernel principal são principalmente alterações de sistema de compilação e código de bits LLVM vs. diferenças de manuseio de ELF.
Com os patches v7 sendo enviados esta semana, o suporte a ARM de 64 bits foi restaurado, enquanto o suporte a x86_64 para Clang LTO foi temporariamente retirado. Algumas correções de objtool são necessárias agora no lado do x86_64 e esse trabalho está pendente. Esperançosamente, não demorará muito para que este trabalho seja mesclado.
Até a próxima !
Nenhum comentário:
Postar um comentário