FERRAMENTAS LINUX: O suporte do Clang LTO mesclado para o Kernel Linux 5.12 é incluindo no ARM64 + x86_64

quarta-feira, 24 de fevereiro de 2021

O suporte do Clang LTO mesclado para o Kernel Linux 5.12 é incluindo no ARM64 + x86_64


Confira !!


Abra o champanhe, pois o kernel Linux 5.12 em desenvolvimento será capaz de suportar otimizações de tempo de link (LTO) em conjunto com o compilador LLVM Clang não apenas no AArch64 (ARM de 64 bits), mas também no x86_64.

Na semana passada, observei que o suporte ao Clang LTO foi enviado, mas na época não estava claro se Linus Torvalds estava disposto a obtê-lo, dados seus comentários anteriores sobre LTO'ing do kernel. Com essa solicitação de pull, também era apenas para AArch64 com o suporte x86_64 ainda não ajustado.

Anos atrás, Linus Torvalds não estava convencido do suporte GCC LTO para o kernele esse código, em última análise, nunca foi alinhado. Com o Clang, os benefícios são praticamente os mesmos em permitir um desempenho potencialmente maior, permitindo que o compilador de código aplique passagens de otimização em tempo de link em todo o kernel, em vez de ser limitado por arquivo de origem. LTO também tem a possibilidade de proporcionar maior economia de espaço. Além disso, no caso do Clang, o LTO para o kernel também é necessário para dar suporte ao Control Flow Integrity (CFI) para o kernel.

O suporte do Clang LTO para o kernel do Linux foi bem testado no modo LTO completo e no ThinLTO do LLVM. O Google, na verdade, tem feito uso do suporte Clang LTO para compilar seus builds de kernel Android de produção há algum tempo e provou ser estável e produzir os benefícios desejados.

Então, ontem com muito entusiasmo foi habilitado o suporte do Clang LTO fundido por Linus Torvalds. Isso incluiu as mudanças principais, além de habilitá-lo para AArch64.

Mas, para tornar as coisas ainda mais interessantes, foram os patches da "parte dois" que implementaram o Clang LTO nas compilações do kernel Linux x86_64. Linus já fundiu isso também.

Resumindo a história, o Linux 5.12 permitirá compilações de kernel otimizadas para Clang LTO para um maior desempenho e habilitação de funcionalidades adicionais, como CFI. 

As etapas curtas para habilitar uma compilação do Clang LTO do kernel Linux são:

make LLVM = 1 LLVM_IAS = 1 defconfig

scripts / config -e LTO_CLANG_THIN

make LLVM = 1 LLVM_IAS = 1





Fonte

Até a próxima !!


Nenhum comentário:

Postar um comentário