
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.


