{"id":180044,"date":"2025-07-29T21:55:30","date_gmt":"2025-07-29T21:55:30","guid":{"rendered":"https:\/\/linuxiac.com\/?p=180044"},"modified":"2025-07-29T22:35:54","modified_gmt":"2025-07-29T22:35:54","slug":"gnu-binutils-2-45-expands-risc-v-support","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/gnu-binutils-2-45-expands-risc-v-support\/","title":{"rendered":"GNU Binutils 2.45 Expands RISC-V Support"},"content":{"rendered":"\n<p>GNU Project quietly rolled out Binutils\u202f2.45 &#8211; a suite of low\u2011level command\u2011line programs for creating, inspecting, and manipulating object files, libraries, and executables, sitting at the heart of the GNU tool\u2011chain alongside gcc (compiler), glibc (C library), and gdb (debugger).<\/p>\n\n\n\n<p>In this release, GAS (GNU\u202fAssembler) now emits SFrame sections with the SHT_GNU_SFRAME type flag set\u202fby default, and it tags those sections with the new <code>SFRAME_F_FDE_FUNC_START_PCREL<\/code> header flag.<\/p>\n\n\n\n<p>Practically, this means that out\u2011of\u2011process stack\u2011trace tooling just got a lot more reliable. Plus, s390x finally gets first\u2011class SFrame generation straight from CFI directives.<\/p>\n\n\n\n<p>On the architecture side, Binutils 2.45 adds support for privileged spec\u202fv1.13, a trio of new profiles (20\/22\/23), and the snappy <code>.bfloat16<\/code> directive for ML workloads. Additionally, the assembler now recognizes a laundry list of standard and vendor extensions.<\/p>\n\n\n\n<p>Regarding Arm, the <code>-march=armv9.6-a<\/code> switch flips on a slew of extensions such as <code>+sme2p2<\/code>, <code>+ssve-aes<\/code>, and <code>+f8f32mm<\/code>, giving implementers early visibility into features the silicon will ship in late 2025 and beyond.<\/p>\n\n\n\n<p>On x86, support is added for Zhaoxin\u2019s PadLock XMODX crypto instructions, while the short\u2011lived AVX10.2 256\u2011bit rounding path is gone.<\/p>\n\n\n\n<p>LoongArch users get a few goodies too: new aliases for LA32R instructions and friendlier warnings on <code>align<\/code> and expression\u2011evaluation corner cases.<\/p>\n\n\n\n<p>Lastly, GAS also picked up a couple of quality\u2011of\u2011life directives\u2014<code>.errif<\/code> and <code>.warnif<\/code>\u2014that let developers bake conditional diagnostics into assembly code. They don\u2019t trigger until the end of a file, so large firmware blobs can collect context before barking at you.<\/p>\n\n\n\n<p>For more information, <a href=\"https:\/\/sourceware.org\/git\/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gas\/NEWS;hb=refs\/tags\/binutils-2_45\" target=\"_blank\" rel=\"noreferrer noopener\">see the announcement<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GNU Binutils 2.45 adds SFrame V2 support for s390x and major enhancements for RISC-V, Armv9.6, LoongArch, and x86.<\/p>\n","protected":false},"author":10,"featured_media":180047,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[6410,1636],"class_list":["post-180044","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-news","tag-binutils","tag-gnu"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/180044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=180044"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/180044\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/180047"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=180044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=180044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=180044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}