A fost lansată versiunea setului de utilitare de sistem GNU Binutils 2.38, care include programe precum linker-ul GNU, assembler-ul GNU, nm, objdump, strings, strip.
În noua versiune:
- Assemblerul și linker-ul au fost actualizate cu suport pentru arhitectura LoongArch, folosită în procesoarele Loongson.
- Assemblerul a adăugat opțiunea „—multibyte-handling=[allow|warn|warn-sym-only]” pentru a alege metoda de procesare a simbolurilor multi-bite. Specificând valoarea warn, se emite un avertisment dacă există simboluri multi-bite în codul sursă, iar prin utilizarea warn-sym-only se emit avertismente doar pentru simbolurile multi-bite din numele argumentelor.
- Assemblerul a îmbunătățit suportul pentru arhitecturile AArch64 și ARM, a extins suportul pentru registrele de sistem, a adăugat suport pentru extensia SME (Scalable Matrix Extension) și suport pentru procesoarele Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710, precum și pentru extensiile arhitecturii ‘v8.7-a’, ‘v8.8-a’, ‘v9-a’, ‘v9.1-a’, ‘armv9.2-a’ și ‘armv9.3-a’.
- Pentru arhitectura x86, assemblerul a adăugat suport pentru instrucțiunile Intel AVX512_FP16.
- Linkerul a adăugat opțiuni: „-z pack-relative-relocs/-z nopack-relative-relocs” pentru a gestiona ambalarea relocărilor relative în secțiunea DT_RELR; „-z indirect-extern-access/-z noindirect-extern-access” pentru a controla utilizarea pointerilor canonici pentru funcții și copierea informațiilor despre relocări; „—max-cache-size=SIZE” pentru a defini dimensiunea maximă a cache-ului.
- Utilitarul elfedit a adăugat opțiunea „—output-abiversion” pentru a actualiza câmpul ABIVERSION din fișierele ELF.
- Utilitarele readelf, strings, nm și objdump au adăugat opțiunea „—unicode” pentru a gestiona procesarea caracterelor unicode la afișarea numelui simbolurilor sau a șirurilor. Specificând „—unicode=locale”, șirurile unicode sunt procesate conform localei curente, „—unicode=hex” — sunt afișate sub formă de coduri hexazecimale, „—unicode=escape” — sunt prezentate sub formă de secvențe de escape, „—unicode=highlight” — sunt arătate sub formă de secvențe de escape evidențiate cu roșu.
- În utilitarul readelf, opțiunea „-r” provoacă acum dump-ul datelor despre relocări relative.
- În objcopy a fost adăugat suport pentru platformele efi-app-aarch64, efi-rtdrv-aarch64 și efi-bsdrv-aarch64, permițând utilizarea acestui utilitar în dezvoltarea componentelor pentru UEFI.
- Utilitarul ar a adăugat opțiunea „—thin” pentru a crea arhive subțiri (thin), conținând doar tabelele de simboluri și referințe.
Sursa: opennet.ro
