The GNU Project has announced the release of GNU Binutils 2.47, a core component of the GNU toolchain, alongside gcc, glibc, and gdb, introducing additional RISC-V extension support, new assembler and linker options, and improvements to tools such as objdump and readelf.
A key addition is the assembler option --reloc-section-sym=[all|internal|none], which controls whether relocations referencing locally bound symbols are adjusted to use section symbols.
Both objdump and readelf now include the --debug-dir=DIR option, which lets users specify where to search for separate debugging information files.
Additionally, objdump introduces the --map-global-vars option, which displays the locations and types of global variables contained in object files.
On the linker side, GNU Binutils 2.47 adds support for the --start-lib and --end-lib options. These allow a group of object files to be handled in a way similar to a static archive without requiring users to create an archive file first.
The release also introduces the --link-mapless and --no-link-mapless options for controlling the handling of archives that do not contain a symbol index.
Another important addition concerns the BFD linker, which now supports an optimization level of zero through the -O 0 option. At this level, the linker stops combining the contents of mergeable sections. According to the release details, disabling this optimization can make linking significantly faster, although the resulting binaries may be larger.
GNU Binutils 2.47 further expands RISC-V support, including standard extensions such as zalasr 1.0, svrsw60t59b 1.0, zvabd 1.0, and smpmpmt 1.0.
Additionally, support has been added for several vector dot-product extensions, including zvqwdota8i, zvqwdota16i, zvfwdota16bf, zvfqwdota8f, zvqwbdota8i, zvqwbdota16i, zvfwbdota16bf, zvfqwbdota8f, and zvfbdota32f.
Lastly, support for the 32-bit IBM S/390 target has now been deprecated. However, the 64-bit S/390x target remains supported and actively maintained.
For more information, see the announcement.
GNU Binutils 2.47 is available for download as source code from the GNU mirrors. As usual, users of rolling-release Linux distributions can expect the new version to arrive through their repositories once package maintainers complete the necessary testing and integration.
