La version du jeu d'outils système GNU Binutils 2.38 a été présentée, qui comprend des programmes tels que le lieur GNU, l'assembleur GNU, nm, objdump, strings, strip.
Dans la nouvelle version :
- Le support de l'architecture LoongArch, utilisée dans les processeurs Loongson, a été ajouté à l'assembleur et au lieur.
- L'assembleur a ajouté l'option «—multibyte-handling=[allow|warn|warn-sym-only]» pour choisir la méthode de traitement des caractères multibytes. En spécifiant la valeur warn, un avertissement est affiché en cas de présence de caractères multibytes dans les textes source, tandis qu'en spécifiant warn-sym-only, ce n'est que lors de l'utilisation de caractères multibytes dans les noms des arguments.
- L'assembleur a amélioré le support des architectures AArch64 et ARM, élargissant le support des registres système et ajoutant le support de l'extension SME (Scalable Matrix Extension), ajoutant la prise en charge des processeurs Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710, ainsi que les extensions d'architecture 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' et 'armv9.3-a'.
- Pour l'architecture x86, le support des instructions Intel AVX512_FP16 a été ajouté à l'assembleur.
- Le lieur a ajouté des options : « -z pack-relative-relocs/-z nopack-relative-relocs » pour contrôler l'emballage des déplacements relatifs dans la section DT_RELR ; « -z indirect-extern-access/-z noindirect-extern-access » pour gérer l'utilisation de pointeurs canoniques sur les fonctions et la copie des informations de déplacement ; «—max-cache-size=SIZE» pour définir la taille maximale du cache.
- La commande elfedit a ajouté l'option «—output-abiversion» pour mettre à jour le champ ABIVERSION dans les fichiers ELF.
- Les utilitaires readelf, strings, nm et objdump ont ajouté l'option «—unicode» pour contrôler le traitement des caractères unicode lors de l'affichage des noms de symboles ou des chaînes. En spécifiant «—unicode=locale», les chaînes unicode sont traitées selon la locale actuelle, «—unicode=hex» les affiche sous forme de codes hexadécimaux, «—unicode=escape» les montre sous forme de séquences d'échappement, «—unicode=highlight» les met en évidence en rouge.
- Dans l'utilitaire readelf, l'option «-r» provoque désormais un vidage des données concernant les déplacements relatifs.
- Dans objcopy, le support des plateformes efi-app-aarch64, efi-rtdrv-aarch64 et efi-bsdrv-aarch64 a été ajouté, permettant d'utiliser cet utilitaire lors du développement de composants pour UEFI.
- L'utilitaire ar a ajouté l'option «—thin» pour créer des archives réduites (thin) contenant uniquement des tables de symboles et de liens.
Source : opennet.ru
