FERRAMENTAS LINUX: O suporte do Clang LTO parece que pode chegar ao Kernel Linux 5.12

terça-feira, 12 de janeiro de 2021

O suporte do Clang LTO parece que pode chegar ao Kernel Linux 5.12


Confira !!


O suporte para Clang LTO do kernel Linux para otimizações de tempo de link ao usar aquele compilador alternativo GCC parece que irá pousar com Linux 5.12.

Por vários meses, a fiação do Clang LTO para o kernel Linux tem passado por rodadas de revisão e de interesse de várias partes. Fornecedores como o Google já usam otimizações de tempo de link do Clang como parte de suas compilações de kernel em dispositivos móveis. Tem havido muito interesse e parece que para o Kernel Linux 5.12 esse trabalho provavelmente irá pousar - ele foi enfileirado em um branch "-next" antes da janela de mesclagem do Linux 5.12 em fevereiro.

Kees Cook, do Google, colocou na fila o trabalho de Sami Tolvanen (também do Google) para Clang LTO'ing o kernel. Os patches são atualmente parte de for-next / kspp. Portanto, a não ser que surjam problemas importantes ou que novas críticas venham à tona, o trabalho provavelmente será enviado para a próxima janela de mesclagem (5.12).

Este suporte permite otimizações de tempo de link "completas", bem como suporte ThinLTO do LLVM. No momento, porém, este suporte está disponível apenas para ARM de 64 bits (AArch64) e não para x86_64. O suporte pode ser configurado via Kconfig nas arquiteturas suportadas.

A compilação completa do Clang LTO do kernel do Linux deve render "o melhor desempenho em tempo de execução", mas bastante demorado, bem como muito consumo de RAM, portanto, ThinLTO também é suportado.

Este trabalho também estabelece as bases para potencialmente suportar GCC LTO do kernel Linux, graças a alguns botões "CONFIG_LTO" comuns sendo adicionados, mas o suporte ao compilador GCC não faz parte desta atração. No passado, da Intel e de outros, vimos GCC LTO para o kernel Linux proposto, embora nunca tenha chegado à linha principal para fusão.

As otimizações de tempo de link do compilador são ótimas em nome do desempenho, enquanto este suporte LTO no kernel também é necessário para a aplicação Clang Control-Flow Integrity (CFI) como um recurso de segurança. O Google clanged LTO'ing (com CFI) suas compilações de kernel Linux para dispositivos Android desde 2018

Fonte

Até apróxima !!

Nenhum comentário:

Postar um comentário