È stato presentato il rilascio del pacchetto di utilità di sistema GNU Binutils 2.38, che include programmi come GNU linker, GNU assembler, nm, objdump, strings, strip.
Nella nuova versione:
- Nel linker e nell'assembler è stata aggiunta la supporto per l'architettura LoongArch, utilizzata nei processori Loongson.
- Nell'assembler è stata aggiunta l'opzione «—multibyte-handling=[allow|warn|warn-sym-only]» per scegliere il metodo di gestione dei caratteri multibyte. Se viene specificato il valore warn, viene visualizzato un avviso in caso di caratteri multibyte nei testi sorgente, mentre per warn-sym-only, l'avviso viene mostrato solo per l'uso di caratteri multibyte nei nomi degli argomenti.
- Nell'assembler è stata migliorata la supporto per le architetture AArch64 e ARM, ampliata la supporto per i registri di sistema, e aggiunta la supporto per l'estensione SME (Scalable Matrix Extension), includendo i processori Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710, nonché per le estensioni dell'architettura «v8.7-a», «v8.8-a», «v9-a», «v9.1-a», «armv9.2-a» e «armv9.3-a».
- Per l'architettura x86, nell'assembler è stata aggiunta la supporto per le istruzioni Intel AVX512_FP16.
- Nel linker sono state aggiunte le opzioni: «-z pack-relative-relocs/-z nopack-relative-relocs» per controllare l'imballaggio dei rilocamenti relativi nella sezione DT_RELR; «-z indirect-extern-access/-z noindirect-extern-access» per controllare l'uso di puntatori canonici a funzioni e la copia delle informazioni sui rilocamenti; «—max-cache-size=SIZE» per definire la dimensione massima della cache.
- Nell'utility elfedit è stata aggiunta l'opzione «—output-abiversion» per aggiornare il campo ABIVERSION nei file ELF.
- Nelle utility readelf, strings, nm e objdump è stata aggiunta l'opzione «—unicode» per controllare la gestione dei caratteri unicode nell'output dei nomi simbolici o delle stringhe. Specificando «—unicode=locale», le stringhe unicode vengono gestite in base alla locale corrente, «—unicode=hex» vengono visualizzate come codici esadecimali, «—unicode=escape» vengono mostrate come sequenze di escape, «—unicode=highlight» vengono evidenziate in rosso come sequenze di escape.
- Nell'utility readelf l'opzione «-r» ora produce un dump dei dati sui rilocamenti relativi.
- In objcopy è stata aggiunta la supporto per le piattaforme efi-app-aarch64, efi-rtdrv-aarch64 e efi-bsdrv-aarch64, che consentono l'uso di questo strumento nello sviluppo di componenti per UEFI.
- Nell'utility ar è stata aggiunta l'opzione «—thin» per creare archivi ridotti (thin), contenenti solo tabelle di simboli e riferimenti.
Fonte: opennet.ru
