Домой Софт macOS и Linux Состоялся релиз GNU Binutils 2.47 с поддержкой новых расширений RISC-V

Состоялся релиз GNU Binutils 2.47 с поддержкой новых расширений RISC-V

Релиз ключевого набора инструментов для сборки ПО: поддержка RISC-V, новые параметры отладки и оптимизация компоновки.

Состоялся релиз GNU Binutils 2.47 с поддержкой новых расширений RISC-V
Состоялся релиз GNU Binutils 2.47 с поддержкой новых расширений RISC-V — иллюстрация к материалу. Источник: linux.org.ru

26 июля 2026 года состоялся релиз GNU Binutils 2.47 — фундаментального набора низкоуровневых инструментов для манипуляции объектными и исполняемыми файлами. Этот инструментарий, включающий в себя ассемблер (gas), компоновщик (ld), а также важные утилиты вроде objdump, readelf, ar, nm и strip, является «сердцем» процесса сборки программ в среде GNU/Linux.

Развитие поддержки архитектуры RISC-V

В новой версии разработчики продолжили активно расширять возможности работы с RISC-V. В частности, была добавлена поддержка стандартных расширений:

  • Zalasr 1.0;
  • Svrsw60t59b 1.0;
  • Zvabd 1.0;
  • Smpmpmt 1.0.

Кроме того, внедрена поддержка векторных инструкций скалярного произведения, а также специализированных процессорных расширений SpaceMiT: xsmtvdot и xsmtvdotii.

Ключевые функциональные изменения

Обновление принесло ряд важных улучшений для разработчиков системного ПО:

  • Управление символами: GNU Assembler получил новый параметр --reloc-section-sym=[all|internal|none]. Он позволяет гибко настраивать замену релокационных ссылок на локальные символы ссылками на символы секций.
  • Оптимизация работы с отладкой: Утилиты objdump и readelf теперь поддерживают флаг --debug-dir=DIR. Это позволяет принудительно указывать путь к каталогу, где хранятся внешние файлы отладочной информации.
  • Инструменты анализа: В objdump появилась полезная опция --map-global-vars, которая выводит карту расположения и типов глобальных переменных, опираясь на метаданные DWARF.
  • Гибкость компоновки: GNU ld теперь позволяет использовать параметры --start-lib и --end-lib, что дает возможность обрабатывать наборы объектных файлов так же, как и обычные статические библиотеки. Также добавлены флаги --link-mapless и --no-link-mapless для управления обработкой архивов без индекса символов.
  • Режим быстрой сборки: Для BFD-компоновщика добавлен режим оптимизации -O 0. Он отключает объединение секций, что значительно ускоряет процесс линковки ценой некоторого увеличения итогового размера бинарного файла.

Об изменениях в поддержке архитектур

Разработчики официально объявили об устаревании поддержки 32-разрядной конфигурации архитектуры IBM s390. Вероятно, эта поддержка будет полностью исключена в следующих версиях проекта. Стоит отметить, что современная 64-битная архитектура s390x данное изменение не затрагивает.

Более детальную информацию о релизе можно найти в официальном объявлении разработчиков или в профильных материалах на Phoronix. Исходный код GNU Binutils 2.47 уже доступен для скачивания на официальном сервере GNU и в репозиториях Sourceware.

Источник: https://www.linux.org.ru