GNU Project quietly rolled out Binutils 2.45 – a suite of low‑level command‑line programs for creating, inspecting, and manipulating object files, libraries, and executables, sitting at the heart of the GNU tool‑chain alongside gcc (compiler), glibc (C library), and gdb (debugger).
In this release, GAS (GNU Assembler) now emits SFrame sections with the SHT_GNU_SFRAME type flag set by default, and it tags those sections with the new SFRAME_F_FDE_FUNC_START_PCREL
header flag.
Practically, this means that out‑of‑process stack‑trace tooling just got a lot more reliable. Plus, s390x finally gets first‑class SFrame generation straight from CFI directives.
On the architecture side, Binutils 2.45 adds support for privileged spec v1.13, a trio of new profiles (20/22/23), and the snappy .bfloat16
directive for ML workloads. Additionally, the assembler now recognizes a laundry list of standard and vendor extensions.
Regarding Arm, the -march=armv9.6-a
switch flips on a slew of extensions such as +sme2p2
, +ssve-aes
, and +f8f32mm
, giving implementers early visibility into features the silicon will ship in late 2025 and beyond.
On x86, support is added for Zhaoxin’s PadLock XMODX crypto instructions, while the short‑lived AVX10.2 256‑bit rounding path is gone.
LoongArch users get a few goodies too: new aliases for LA32R instructions and friendlier warnings on align
and expression‑evaluation corner cases.
Lastly, GAS also picked up a couple of quality‑of‑life directives—.errif
and .warnif
—that let developers bake conditional diagnostics into assembly code. They don’t trigger until the end of a file, so large firmware blobs can collect context before barking at you.
For more information, see the announcement.