FERRAMENTAS LINUX: O NetBSD está explorando o LLD Linker do LLVM para tr uma menor pegada de memória

domingo, 20 de janeiro de 2019

O NetBSD está explorando o LLD Linker do LLVM para tr uma menor pegada de memória




Confira !!



O projeto NetBSD tem feito um bom progresso na utilização da pilha do compilador LLVM não apenas para o compilador C / C ++ da Clang, mas também para os diferentes desinfetantes, a biblioteca padrão da libc ++ para C ++ e outras melhorias que estão trabalhando no desenvolvimento Bases de código. Uma área do suporte ao LLVM do NetBSD que está sendo explorada mais recentemente é usando o vinculador LLD.

O NetBSD está explorando o uso do vinculador LLVM LLD sobre o vinculador ld do GNU, devido ao menor consumo de memória. O LLD geralmente passa muito menos memória RAM que o atual linkador GNU ld.

Graças ao trabalho de Kamil Rytarowski e outros, o LLD poderá em breve estar vinculando os pacotes do NetBSD, mas atualmente existe um desacordo técnico sobre o design do Clang / LLD. Kamil explicou em um novo post no blog, "Corrigir o LLD para funcionar com o atual driver clang exigiria adicionar reconhecimento de alvos ao LLD e alterar vários padrões para o NetBSD com base no destino usado. No entanto, o mantenedor do LLD, Rui Ueyama, se opõe a introduzir essa lógica extra especificamente para o NetBSD, e acredita que ela deve ser adicionada ao driver clang como para outras plataformas. Por outro lado, o mantenedor do driver de toolchain do NetBSD, Joerg Sonnenberger, bloqueia a adição deste ao driver. Portanto, chegamos a um impasse que impede que o LLD trabalhe no NetBSD sem patches locais. "

Uma vez que a discordância seja resolvida, o resto das estrelas deve se alinhar para vincular o LLD NetBSD."Nesse ponto, parece que usar o LLD para a maioria dos pacotes regulares é uma meta que pode ser alcançada em breve. O principal bloqueador agora é o desacordo entre os desenvolvedores sobre como proceder. Quando podemos resolver isso e concordar em um caminho único, a maioria dos patches se torna trivial ... Espero que possamos finalmente encontrar um caminho a seguir que não envolva manter o driver clang upstream para o NetBSD incompatível com o LLD upstream, e carregar um número de patches para LLD localmente para que funcione. Os objetivos adicionais incluem a tentativa de construir o kernel e a área de usuário completa usando o LLD, bem como verificar a compatibilidade de executáveis ​​produzidos com várias combinações de opções de vinculador (por exemplo, executáveis ​​de ETIs estáticos). "

Mais detalhes para os interessados ​​no blog do NetBSD .


Fonte

Até a próxima !!!

Nenhum comentário:

Postar um comentário