Foi lançado o conjunto de utilitários do sistema GNU Binutils 2.38, que inclui programas como linker GNU, assembler GNU, nm, objdump, strings e strip.
Na nova versão:
- O assembler e o linker agora oferecem suporte à arquitetura LoongArch, usada nos processadores Loongson.
- Foi adicionada ao assembler a opção «—multibyte-handling=[allow|warn|warn-sym-only]» para selecionar o método de tratamento de caracteres multibyte. Ao especificar o valor warn, um aviso é exibido ao encontrar caracteres multibyte no código-fonte, e ao indicar warn-sym-only, o aviso é emitido quando caracteres multibyte são usados nos nomes dos argumentos.
- O suporte para as arquiteturas AArch64 e ARM foi aprimorado no assembler, expandindo o suporte para registradores de sistema. Foi também acrescentado suporte para a extensão SME (Scalable Matrix Extension) e para os processadores Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, e as extensões das arquiteturas ‘v8.7-a’, ‘v8.8-a’, ‘v9-a’, ‘v9.1-a’, ‘armv9.2-a’ e ‘armv9.3-a’.
- Foi adicionada ao assembler suporte para instruções Intel AVX512_FP16 para a arquitetura x86.
- O linker recebeu as opções: «-z pack-relative-relocs/-z nopack-relative-relocs» para controlar a compactação de realocações de endereços (relocation) na seção DT_RELR; «-z indirect-extern-access/-z noindirect-extern-access» para controlar o uso de ponteiros canônicos para funções e a cópia de informações sobre relocação; «—max-cache-size=SIZE» para definir o tamanho máximo do cache.
- A ferramenta elfedit agora inclui a opção «—output-abiversion» para atualizar o campo ABIVERSION em arquivos ELF.
- As utilitários readelf, strings, nm e objdump agora têm a opção «—unicode» para gerenciar o processamento de caracteres unicode ao exibir nomes de símbolos ou strings. Com «—unicode=locale», as strings unicode são processadas de acordo com a localidade atual; com «—unicode=hex», são mostradas em notação hexadecimal; com «—unicode=escape», aparecem como sequências de escape; e com «—unicode=highlight», são exibidas como sequências de escape destacadas em vermelho.
- Na ferramenta readelf, a opção «-r» agora gera um despejo dos dados sobre relocação relativa.
- Foi adicionada ao objcopy suporte para as plataformas efi-app-aarch64, efi-rtdrv-aarch64 e efi-bsdrv-aarch64, permitindo o uso dessa ferramenta na criação de componentes para UEFI.
- Na ferramenta ar, foi adicionada a opção «—thin» para criar arquivos de archive reduzidos (thin), contendo apenas tabelas de símbolos e links.
Fonte: opennet.ru
