Выпущена версия GNU Binutils 2.46 с поддержкой AMD Zen 6 и Arm v9.7

После недавнего выпуска Coreutils 9.10 проект GNU представил Binutils 2.46 — набор низкоуровневых инструментов командной строки для создания, проверки и обработки объектных файлов, библиотек и исполняемых файлов. Binutils — один из основных компонентов набора инструментов GNU наряду с gcc, glibc и gdb.
Важным обновлением стала расширенная поддержка процессоров: Binutils 2.46 теперь распознает процессоры AMD Zen 6, расширяет поддержку RISC-V за счет расширений sdtrig v1.0 и ssstrict v1.0, а также улучшает совместимость с Arm. Кроме того, в этой версии доработана поддержка инструкций Arm v9.6, добавлена поддержка Arm v9.7 через -march=armv9.7-a и предварительная поддержка будущих технологий Arm, включая POE2 и vMTE.
Кроме того, ассемблер теперь по умолчанию генерирует SFrame версии 3, поддерживающую двоичные файлы размером более 2 ГиБ, гибкую компоновку фреймов, явную маркировку внешних фреймов и улучшенную обработку сигнальных переходов.
В Binutils 2.46 также улучшено представление неопределённых адресов возврата в данных SFrame. Теперь они кодируются как записи в строке фрейма без смещений, а обновлённая библиотека libsframe предоставляет специальный API для обнаружения этого состояния. Соответственно, были доработаны утилиты objdump и readelf, чтобы корректно отображать информацию SFrame версии 3, в том числе явно указывать на неопределённые адреса возврата.
Важно отметить, что в новой версии представлена новая разделяемая библиотека с поддержкой версий libsframe.so.3, в которой добавлена поддержка версий символов в пространстве имен LIBSFRAME_3.0.
Кроме того, в проекте была усилена внутренняя проверка и обработка плагинов. В частности, такие инструменты, как objcopy теперь проводят более строгую проверку целевых форматов, выявляя случаи некорректного использования, которые раньше оставались незамеченными. Прежнее поведение можно восстановить, явно указав параметры целевого вывода.
Наконец, в рамках текущего обслуживания в Binutils 2.46 удалена поддержка нескольких устаревших платформ, в том числе NaCl и Solaris на PowerPC. Это изменение отражает стремление снизить нагрузку на разработчиков и сосредоточить усилия на активно используемых платформах.
Для получения дополнительной информации см. объявление.
Редактор: AndreyEx
Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.