Following the recent release of Coreutils 9.10, the GNU Project has rolled out Binutils 2.46, a suite of low-level command-line tools for creating, inspecting, and manipulating object files, libraries, and executables. Binutils is a core component of the GNU toolchain, alongside gcc, glibc, and gdb.
A major update is expanded processor support as Binutils 2.46 now recognizes AMD Zen 6 CPUs, extends RISC-V support with sdtrig v1.0 and ssstrict v1.0 extensions, and further advances Arm compatibility. Moreover, the release finalizes support for Arm v9.6 instructions, introduces Arm v9.7 via -march=armv9.7-a, and adds preliminary support for upcoming Arm technologies, including POE2 and vMTE.
Moreover, the assembler now emits SFrame Version 3 by default, supporting binaries over 2 GiB, flexible frame layouts, explicit marking of outermost frames, and improved signal trampoline handling.
Binutils 2.46 also refines the representation of undefined return addresses in SFrame data. These are now encoded as frame row entries with no offsets, and the updated libsframe library exposes a dedicated API to detect this condition. Correspondingly, objdump and readelf have been enhanced to display SFrame Version 3 information correctly, including explicit reporting of undefined return addresses.
It’s important to note that the release introduces a new versioned shared library, libsframe.so.3, which adds symbol versioning under the LIBSFRAME_3.0 namespace.
Additionally, the project has tightened internal validation and plugin handling. In particular, tools such as objcopy now enforce stricter checks on target formats, exposing incorrect usage that previously went unnoticed. The older behavior remains available by explicitly using output target options.
Finally, as part of ongoing maintenance, Binutils 2.46 removes support for several legacy or obsolete targets, including NaCl and Solaris on PowerPC. This change reflects a broader effort to reduce maintenance burden and focus development on actively used platforms.
For more information, see the announcement.
