Foi apresentado o lançamento do conjunto de utilitários de sistema GNU Binutils 2.38, que inclui programas como GNU linker, GNU assembler, nm, objdump, strings, strip.
Na nova versão:
- Foi adicionado suporte ao montador e ao ligador para a arquitetura LoongArch usada nos processadores Loongson.
- A opção "--multibyte-handling=[allow|warn|warn-sym-only]" foi adicionada ao montador para selecionar o método de tratamento de caracteres multibyte. Especificar `warn` gera um aviso sempre que caracteres multibyte estiverem presentes no código-fonte, enquanto especificar `warn-sym-only` gera um aviso sempre que caracteres multibyte forem usados em nomes de argumentos.
- O montador apresenta suporte aprimorado para as arquiteturas AArch64 e ARM, suporte expandido para registradores de sistema, suporte adicional para SME (Scalable Matrix Extension), suporte adicional para os processadores Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710, bem como para as extensões de arquitetura 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' e 'armv9.3-a'.
- Para a arquitetura x86, foi adicionado suporte ao montador para as instruções Intel AVX512_FP16.
- As seguintes opções foram adicionadas ao linker: "-z pack-relative-relocs/-z nopack-relative-relocs" para controlar o empacotamento de realocações de endereço relativas na seção DT_RELR; "-z indirect-extern-access/-z noindirect-extern-access" para controlar o uso de ponteiros de função canônicos e a cópia de informações de realocação de endereço; "--max-cache-size=SIZE" para definir o tamanho máximo do cache.
- O utilitário elfedit foi atualizado com a opção "--output-abiversion" para atualizar o campo ABIVERSION em arquivos ELF.
- Os utilitários readelf, strings, nm e objdump agora possuem uma opção "--unicode" para controlar o tratamento de caracteres Unicode ao exibir nomes de símbolos ou strings. Quando "--unicode=locale" é especificado, as strings Unicode são processadas de acordo com a localidade atual; "--unicode=hex" as exibe como códigos hexadecimais; "--unicode=escape" as exibe como sequências escale; e "--unicode=highlight" as exibe como sequências escale destacadas em vermelho.
- No utilitário readelf, a opção "-r" agora gera um despejo de dados de realocação relativa.
- O Objcopy agora é compatível com as plataformas efi-app-aarch64, efi-rtdrv-aarch64 e efi-bsdrv-aarch64, permitindo seu uso no desenvolvimento de componentes UEFI.
- O utilitário ar agora possui uma opção "--thin" para criar arquivos "thin" contendo apenas tabelas de símbolos e links.
Fonte: opennet.ru
