O Mold, o renomado linker do LLVM conhecido por sua velocidade excepcional, acaba de lançar sua versão 2.33, repleta de melhorias que prometem revolucionar a maneira como você compila seus projetos. Seja você um desenvolvedor individual ou parte de uma grande equipe, as novidades do Mold 2.33 irão otimizar seu fluxo de trabalho e acelerar seus tempos de compilação.
Linkagem em paralelo em nível de seção: Aceleração inédita
A principal novidade do Mold 2.33 é a flag experimental -Wl,--experimental-new-pass-manager
. Essa funcionalidade inovadora permite a paralelização da linkagem em nível de seção, dividindo o processo em múltiplas threads. Com isso, o tempo de linkagem é drasticamente reduzido, especialmente em projetos de grande porte. Imagine construir uma casa com uma equipe de construtores trabalhando em diferentes cômodos simultaneamente – é exatamente assim que o Mold 2.33 funciona, tornando a linkagem muito mais rápida e eficiente.
Depuração simplificada com separação de informações de depuração
Mold 2.33 introduz a flag --separate-debug-info
, que permite separar as informações de depuração em um arquivo separado. Isso não apenas acelera a linkagem, mas também simplifica a depuração, pois o GDB pode encontrar automaticamente as informações de depuração no arquivo separado.
Novas otimizações e suporte aprimorado
Além da paralelização em nível de seção e da separação de informações de depuração, o Mold 2.33 traz outras otimizações importantes:
- Suporte Aprimorado a LTO (Link-Time Optimization): O LTO permite que o compilador otimize o código em tempo de linkagem, em vez de fazê-lo em tempo de compilação. O Mold 2.33 aprimora ainda mais o suporte a LTO, tornando-o mais eficiente e eficaz na otimização do seu código.
- Melhorias na Indexação de Símbolos: O Mold 2.33 otimiza a indexação de símbolos, tornando a busca por símbolos mais rápida e eficiente, o que se traduz em tempos de linkagem ainda menores.
- Suporte a Novas Flags e Arquiteturas: O Mold 2.33 adiciona suporte à flag
--no-allow-shlib-undefined
para verificação de símbolos indefinidos em bibliotecas compartilhadas e à flag--dynamic-list-data
para compatibilidade com o GNU ld. Além disso, o Mold 2.33 agora suporta as flags-z x86-64-v2
,-z x86-64-v3
e-z x86-64-v4
para arquitetura x86-64. - Melhorias no Suporte a LoongArch: O Mold 2.33 adiciona suporte a novas relocações e relaxações para a arquitetura LoongArch, além de remover o suporte a thunks de extensão de alcance.
- Correções de Bugs e Melhorias Gerais: Como em toda atualização, o Mold 2.33 inclui correções de bugs e melhorias gerais que aumentam a estabilidade, confiabilidade e desempenho do linker.
Otimização e segurança com Intel CET
O Mold 2.33 corrige um bug que afetava a otimização de código com a tecnologia Intel CET (Control-flow Enforcement Technology), garantindo que a proteção contra ataques de ROP (Return-Oriented Programming) seja aplicada corretamente.
Mold: O futuro da linkagem
Com a versão 2.33, o Mold se consolida como um dos linkers mais avançados e promissores do mercado. Sua velocidade excepcional, recursos inovadores e otimizações contínuas o tornam a escolha ideal para desenvolvedores que buscam o melhor desempenho e eficiência em seus projetos.
Experimente o Mold 2.33 e descubra como ele pode transformar sua experiência de desenvolvimento, acelerando seus tempos de compilação, simplificando a depuração e otimizando seu código.