O GNU Binutils 2.40 foi ramificação e terá suporte Zstd, Zen 4 e novas instruções Intel. Confira as novidades e veja como instalar no Linux.
GNU Binary Utilities, ou binutils, é coleção de utilitários de software livre muito comuns em sistemas Linux e outras plataformas.
São um conjunto de ferramentas de programação para criar e gerenciar programas binários, arquivos de objetos, bibliotecas, dados de perfil e código-fonte de montagem.
GNU Binutils fornece o GNU Linker e Assembler juntamente com vários outros utilitários como strip, readelf, objdump, strip e outros utilitários comuns para a cadeia de ferramentas GNU.
Os GNU Binutils são normalmente usados em conjunto com compiladores como o GNU Compiler Collection (gcc), ferramentas de construção como make e o GNU Debugger (gdb).
Através do uso da biblioteca Binary File Descriptor (libbfd), a maioria das ferramentas suporta os vários formatos de arquivos de objetos suportados pela libbfd.
Agora, após o lançamento do GNU Glibc 2.36 no início desta semana, o GNU Binutils 2.40 foi lançado para este conjunto comum de utilitários binários em sistemas de código aberto.
GNU Binutils 2.40 terá suporte Zstd, Zen 4 e novas instruções Intel
Com o início do novo ano também veio a ramificação do GNU Binutils 2.40 antes de seu lançamento estável esperado no início de fevereiro.
Quatro meses depois do lançamento da versão anterior, o GNU Binutils 2.40 agora foi ramificado como binutils-2_40-branch para separar o desenvolvimento agora do Git master enquanto trabalha para o lançamento oficial v2.40 nas próximas semanas.
Como de costume, os novos lançamentos do GNU Binutils tendem a sair como um relógio no início de fevereiro e agosto para seus ciclos de seis meses.
Entre as mudanças que os desenvolvedores podem encontrar com o GNU Binutils 2.40 estão:
- O utilitário objdump adiciona uma opção “
--show-all-symbols
” para exibir todos os símbolos que correspondem a um determinado endereço ao desmontar, em vez de apenas imprimir apenas a primeira correspondência. - Agora existe uma opção “
--enable-colored-disassembly
” ao configurar a compilação do Binutils para habilitar opcionalmente o suporte de saída colorida ao executar no terminal. A saída colorida é desativada por padrão. - O –decomporess-debug-sections do Objcopy agora suporta lidar com seções de depuração compactadas Zstd. Da mesma forma, “
--compress-debug-sections=zstd
” agora tem suporte para usar Zstd para compactar seções de depuração. Além disso, addr2line e objdump “--dward
” agora também suportam seções de depuração compactadas Zstd. - Os comandos readelf e objdump agora têm uma opção “
--sframe
” para despejar seções SFrame. - GNU Gold agora suporta seções de depuração compactadas com Zstd.
- O vinculador também adiciona opções
-w
/--no-warnings
para suprimir a geração de quaisquer avisos ou mensagens de erro se houver a necessidade de criar um binário conhecido e não funcional. - Suporte AMD Zen 4 “znver4”.
O GNU Assembler (Gas) com Binutils 2.40 adiciona:
- Suporte para muitas novas instruções Intel x86_64, incluindo RAO-INT, AVX-NE-CONVERT, MSRLIST, WRMSRNS, CMPccXADD. AVX-VNNI-INT8, AVX-IFMA, PREFETCHI e AMX-FP16.
- Semelhante às outras alterações do Binutils para oferecer suporte à compactação Zstd, o Gas agora oferece suporte às seções de depuração compactadas Zstd.
- Suporte para várias extensões T-Head encontradas no Allwinner D1 RISC-V SoC.
- Suporte para a extensão RISC-V Zawrs, que é a extensão “Wait-on-Reservation-Set” usada em loops de polling que permite que um núcleo entre em um estado de baixo consumo de energia e aguarde um armazenamento em um local de memória.
- Suporte para o braço Cortex-X1C.
- A nova opção Gas “
--gsframe
” pode ser usada para gerar informações de desenrolamento SFrame em x86_64 e AArch64.
Para saber mais sobre essa versão do GNU Binutils, acesse a nota de lançamento.
Como instalar
O GNU Binutils está disponível por padrão na maioria das distribuições Linux e podem ser instaladas usando apenas o gerenciador de pacotes desstas.
Por exemplo, no Debian, Ubuntu e derivados, basta usar o seguinte comando:
sudo apt instal binutils