Linkagem

Mold 2.33: a revolução na linkagem que vai acelerar seus projetos

O Mold 2.33 revoluciona a linkagem com paralelização em nível de seção, separação de informações de depuração, otimizações de indexação de símbolos, suporte aprimorado a LTO, novas flags, melhorias em LoongArch e correções de bugs, tornando-se ainda mais rápido e eficiente.

lançamento do mold

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.