Foi lançado o GNU Binutils 2.43, que inclui programas como o GNU linker, GNU assembler, nm, objdump, strings e strip.
Na nova versão:
- O GNU assembler agora suporta a diretiva ‘.base64’ para representar dados binários como strings em codificação base64. Implementada a possibilidade de usar a sintaxe ‘\+’ em macros e dentro das diretivas .irp, .irpc e .rept para definir o número de execuções da macro.
- Suporte adicionado para as instruções CFCMOV, NF, CCMP e CTEST, definidas no conjunto de instruções Intel APX.
- Suporte adicionado para a arquitetura ‘armv9.5-a’ e suas extensões LUT e LUTv2 (AArch64 Lookup Table Extension).
- Suporte adicionado para as extensões RISC-V: XSfCease, Zacas, Zcmp, Zfbfmin, Zvfbfmin, Zvfbfwma, Smcsrind, Sscsrind, XCvMem, XCvBi e XCvElw.
- Adicionadas opções no linker: ‘—rosegment’ (com a opção ‘-z separate-code’ cria um único segmento em modo somente leitura em vez de dois), ‘—section-ordering-file ’ (mapeamento de seções de entrada e saída) e ‘—plugin-save-temps’ (salva arquivos temporários de plugins). Para as arquiteturas AArch64 e LoongArch, foi implementado o suporte ao formato de deslocamento DT_RELR, que permite reduzir o tamanho das informações sobre deslocamentos relativos em objetos compartilhados e arquivos executáveis.
- Na ferramenta readelf, agora é possível exibir detalhes sobre deslocamentos (DT_RELR). Adicionada a opção ‘-j’ (‘—display-section’) para mostrar o conteúdo da seção especificada por nome ou índice. Ao exibir o conteúdo da seção ‘.eh_frame’, é mostrado a seção ‘.eh_frame_hdr’, se disponível.
- Na ferramenta gprofng, foi adicionada a compatibilidade inicial com a arquitetura RISC-V. O código foi reestruturado para trabalhar com contadores de eventos de hardware. Eventos específicos para processadores AMD ZEN3, AMD ZEN4 e Intel Ice Lake foram implementados, além de eventos típicos para processadores ARM.
Fonte: opennet.ru
