O GNU Binutils 2.38 acaba de chegar hoje como o mais novo lançamento de recursos para esta coleção de utilitários de software livre muito comuns em sistemas Linux e outras plataformas. Assim, o GNU Binutils 2.38 lançado com suporte LoongArch, Intel AVX-512 FP16 e mais núcleos de ARM.
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.
GNU Binutils 2.38 lançado com suporte LoongArch, Intel AVX-512 FP16 e mais núcleos de ARM
Com GNU Binutils 2.38 agora há suporte para LoongArch como arquitetura de CPU derivada de MIPS64 de Loongson para CPUs chinesas domésticas, suporte para extensões de arquitetura Armv9 (v9.1-A, v9.2-A, v9.3-A), suporte para Intel AVX -512 instruções FP16, manipulação de caracteres Unicode aprimorada e suporte para núcleos Arm Cortex R52+ / A510 / A710 / X2 / A710. O GNU Assembler também tem uma nova opção para controlar melhor como os caracteres multibyte são tratados.
Esta versão do GNU Binutils 2.38 contém várias correções de bugs e melhorias, juntamente com os seguintes novos recursos:
Assembler:
- Adiciona suporte para a arquitetura LoongArch;
- Adiciona uma opção para controlar como os caracteres multibyte são tratados no assembler. Usando a opção, os avisos podem ser gerados quando tais caracteres são encontrados em nomes de símbolos, ou em qualquer lugar o(s) arquivo(s) de origem de entrada.
AArch64 e ARM:
- Adicione suporte para mais registros do sistema.
- Adicione suporte para Extensão de Matriz Escalável.
- Adicione suporte para Cortex-R52+, Cortex-A510, Cortex-A710, Núcleos Cortex-X2, Cortex-A710. Adicione suporte para ‘v8.7-a’, ‘v8.8-a’, ‘v9-a’, ‘v9.1-a’, Extensões de arquitetura ‘armv9.2-a’ e ‘armv9.3-a’.
X86:
- Adicione uma opção de linha de comando para codificar o movimento de vetor alinhado como movimento de vetor desalinhado.
- Adicione suporte para instruções Intel AVX512_FP16.
- As saídas da diretiva .ds.x e da diretiva .tfloat com hexadecimal entrada foram reduzidos de 12 bytes para 10 bytes para corresponder à saída da diretiva .tfloat.
Linker:
- Adicione suporte para a arquitetura LoongArch.
- Adicione -z pack-relative-relocs/-z no pack-relative-relocs ao x86 ELF vinculador para empacotar realocações relativas na seção DT_RELR.
- Adicione -z indirect-extern-access/-z noindirect-extern-access ao x86 Linker ELF para controlar ponteiros de função canônicos e copiar realocação.
Outras ferramentas binárias:
- elfedit: Adicione a opção –output-abiversion para atualizar o ABIVERSION.
- Ferramentas que exibem símbolos ou strings (readelf, strings, nm, objdump) têm uma nova opção de linha de comando que controla como o unicode personagens são tratados. Por padrão, eles são tratados como normais para a ferramenta.
- Usar –unicode=locale irá exibi-los de acordo com a localidade atual. Usar –unicode=hex irá exibi-los como hexadecimais valores de byte, enquanto –unicode=escape os exibirá como escape sequências.
- Além disso, usar –unicode=highlight exibirá como sequências de escape unicode destacadas em vermelho (se suportado pelo dispositivo de saída).
- readelf -r despeja realocações relativas de RELR agora.
- Suporte para efi-app-aarch64, efi-rtdrv-aarch64 e efi-bsdrv-aarch64 foi adicionado ao objcopy para habilitar Desenvolvimento UEFI usando binutils.
- ar: Adicione –thin para criar arquivos. -T é um obsoleto alias sem diagnóstico. Em muitas implementações ar -T tem um significado diferente, conforme especificado pelo X/Open System Interface.
Mais detalhes sobre o lançamento do GNU Binutils 2.38 através de seu anúncio de lançamento.
Via Phoronix