Nick Clifton, chief maintainer of the GNU Binutils project, announced the arrival of version 2.47 on Sunday. The release arrives just days after glibc 2.44. It sharpens tools that developers rely on daily for assembling, linking, inspecting and debugging binaries across architectures.
Downloads are available from ftp.gnu.org/gnu/binutils and sourceware.org/pub/binutils/releases/. Tarballs come in multiple compression formats with accompanying signatures. This odd-numbered release omits the gold linker sources. Reproducible builds remain a priority. The project used src-release.sh with a specific date flag drawn from bfd/version.m4 git history.
Support for the 32-bit s390 target has been deprecated. The 64-bit s390x target stays fully maintained. That change trims maintenance burden on an architecture with limited modern use. But the headline story sits with RISC-V.
RISC-V Extensions Multiply as Hardware Vendors Push Specialized Instructions
GNU Binutils 2.47 adds support for more than a dozen newer RISC-V standard extensions. The list includes zalasr v1.0, svrsw60t59b v1.0, zvabd v1.0, smpmpmt v1.0, zvqwdota8i, zvqwdota16i, zvfwdota16bf and zvfqwdota8f v1.0, zvqwbdota8i, zvqwbdota16i, zvfwbdota16bf, zvfqwbdota8f and zvfbdota32f v1.0. Vendor-specific additions from SpacemiT cover xsmtvdot v1.0 and xsmtvdotii v1.0. These extensions target vector, matrix and application-specific acceleration. They reflect the rapid pace of RISC-V silicon development.
Hardware makers now ship cores with dot-product, widening and specialized vector operations. Without matching assembler and disassembler support, software cannot take advantage of them. Binutils bridges that gap. Developers compiling for new RISC-V chips gain immediate access to these instructions. The change matters for everything from AI accelerators to embedded controllers.
Yet the update goes beyond architecture. New command-line options appear across multiple tools. The assembler gains –reloc-section-sym with values all, internal or none. It controls whether relocations that reference local binding symbols get adjusted to use section symbols. Fine control here helps when dealing with complex object files or specific linker behaviors.
Objdump and readelf both accept –debug-dir=[DIR]. The option tells the tools exactly where to look for separate debug information files. No more hunting through default paths or setting environment variables. And objdump adds -map-global-vars. It displays the location and type of global variables stored inside object files. Debuggers and reverse engineers will appreciate the extra visibility.
The linker side brings –start-lib and –end-lib options. These create artificial archives on the fly. Support arrives for –no-link-mapless and –link-mapless to handle archives lacking a symbol index across all formats. The default behavior now favors link-mapless archives. Administrators can override it when needed.
One subtle but practical change sits in the BFD linker. It now accepts an optimization level of zero. Pass -O 0 and the linker stops combining contents of mergeable sections. The result? Much faster linking. The trade-off comes in larger binaries. For development builds and continuous integration pipelines where link time dominates, this option delivers immediate relief. Production builds can still use higher optimization levels.
AArch64 and x86 disassemblers gained -M annotate options. These provide additional context in disassembly output. Such annotations speed up code review and performance analysis. Small touches like these accumulate over years of toolchain use.
Reports from Phoronix highlighted the RISC-V focus and new options shortly after the announcement. Coverage on FOSS Force noted the cleanup of older packaging and the emphasis on debugging improvements. Both outlets pointed to the official GNU info-gnu mailing list post for complete details.
Discussions on X echoed the release. The official @gnutools account summarized key points within hours. Developers working on Fedora Rawhide already run Binutils 2.47. A June change proposal for Fedora 45 confirmed the toolchain update including this version. No major disruptions appeared during testing.
Binutils occupies a quiet but essential place in the software stack. Every compiled program passes through its assembler or linker. Every crash analysis session uses its objdump or readelf. Improvements here ripple outward. Faster links shorten developer feedback loops. Better RISC-V support accelerates adoption of an open instruction set that now powers everything from cheap microcontrollers to high-performance compute clusters.
Nick Clifton thanked contributors in the announcement. The release reflects steady, focused work rather than flashy overhauls. And that steady pace has kept Binutils reliable for decades. Version 2.47 continues the pattern. It adds targeted features that address real pain points while pruning outdated code.
Distributions will begin packaging the new version soon. Fedora already runs it in Rawhide. Others will follow once testing completes. For teams building custom toolchains or targeting new RISC-V hardware, the update offers immediate value. The rest of the community gains incremental but meaningful productivity gains.
So the tools get sharper. The binaries get smaller or the builds get faster. And the open hardware movement around RISC-V gains another solid foundation. Nothing flashy. Just progress.


WebProNews is an iEntry Publication