@gnutools

GCC, Binutils, GDB, GLIBC. The system compiler for the FOSS and Linux software ecosystem. Continually Improving.

Joined July 2013
LLVM Weekly - #664, September 21st 2026. Improving HLSL support in clangd, linker I/O tricks and their downsides, SuperH backend, BRay - tracing with BOLT, AMDGPU UndefinedBehaviorSanitizer, copy profiler, and more llvmweekly.org/issue/664
2
30
2,072
GCC - GNU Toolchain retweeted
mold in Rust has landed in github.com/rui314/mold! The code doesn't look too bad; it looks like conventional Rust. But I'm still new to the language, so let me know if you find anything that could be improved!
41
125
4
922
55,719
GNU Toolchain Office Hours Thursday, September 17 at 8:00 AM PT / 11:00 AM ET / 16:00 CET gcc.gnu.org/wiki/OfficeHours
10
707
GCC - GNU Toolchain retweeted
This discussion in the ⁠binutils⁠ mailing list is interesting. I had no idea the target binary could easily detect and interact with Valgrind directly. Valgrind provides a header (⁠valgrind.h⁠) to help the client do exactly that. A change in the ⁠gas⁠ assembler that optimized ⁠xchg reg, reg⁠ to ⁠mov reg, reg⁠ in specific conditions broke Valgrind. That optimization yielded more efficient code because the ⁠mov⁠ instruction is cheaper. Valgrind implements a trapdoor—a "hypercall"-like mechanism between the target and Valgrind, officially called the Client Request Mechanism. This trapdoor relies on a magic sequence of preamble instructions followed immediately by an ⁠xchg⁠ instruction. Because the ⁠gas⁠ optimization replaced that ⁠xchg⁠ with a ⁠mov⁠, Valgrind was seeing a ⁠mov⁠ and failing to recognize the request. The problem occurred both when Valgrind itself was built with the optimization, and when target binaries were built with the client-request mechanism through the ⁠valgrind.h⁠ file. ⁠systemd⁠ was one of the affected projects. Because there are many projects out there built with the Valgrind header that hardcode the expectation of an ⁠xchg⁠ instruction, the optimization had to be reverted. That problem resulted in the following error in Valgrind: vex amd64->IR: unhandled instruction bytes: 0x48 0xC1 0xC7 0x3 0x48 0xC1 0xC7 0xD 0x48 0xC1 vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0 vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 ==568970== valgrind: Unrecognised instruction at address 0x484f1e9. [PATCH 1/2] x86: optimize XCHG to MOV for same-register forms sourceware.org/pipermail/bin… x86: Disable XCHG to MOV optimization sourceware.org/git/?p=binuti… Here is the official documentation of the Client Request Mechanism implemented in Valgrind: valgrind.org/docs/manual/man…
2
13
1
69
4,143
GNU Toolchain office hours tomorrow 17th September at 9am (India), 3:30am (UTC), 11:30am China Standard Time, 8:30pm (16th September Pacific time). gcc.gnu.org/wiki/OfficeHours
11
728
GNU Tools Weekly News Week 55 (September 13, 2026) Release updates for GNU toolchain: * GDB 18.1.0 update * Release didn't happen, some bugs came up; delayed until the 25th * inbox.sourceware.org/gdb-pat… * GCC 13.5.0 was released * inbox.sourceware.org/gcc/952… GNU toolchain conference reminders: * GNU Tools Cauldron 2026, October 2-4 (Prague) * gcc.gnu.org/wiki/cauldron202… * conf.gnu-tools-cauldron.org/… * Toolchains Track at LPC 2026, October 7th (Prague) * lpc.events/event/20/abstract… General/big GNU toolchain news: * gccrs August 2026 Monthly report * inbox.sourceware.org/gcc/8b7… * Implementation of GCC's Nested Functions * uecker.codeberg.page/2026-09… GCC easy issue to tackle of the week: * `a << CST >> CST` can be simplified into a if upper CST bits of a are known to be zero * gcc.gnu.org/bugzilla/show_bu… * Reach out to Andrea Pinski for mentoring on this issue. * Previous ones are listed on gcc.gnu.org/wiki/EasyIssuesO… GCC commits: * gcc.gnu.org/r17-3967 ... r17-4211 - 245 commits * ifcvt: Handle arm-only diamond live-outs * gcc.gnu.org/r17-3970-g301afa… * middle-end: Improve bitreverse RTL expansion with AOP. * gcc.gnu.org/r17-3977-gfb21f1… * match/fold: support (a CMP b) OP (a CMP b) for more OPs * gcc.gnu.org/r17-4001-gbbc251… gcc.gnu.org/r17-4000 gcc.gnu.org/r17-3999 * ranger: loads from constant tables of floats a range * gcc.gnu.org/r17-4024-gc1b526… * Recognize CLZ loop for signed non-negative values * gcc.gnu.org/r17-4047-ge90e0f… * gccrs merge: 43 commits * gcc.gnu.org/r17-4130-g4d9b51… ... gcc.gnu.org/r17-4088-gb276fb… * phiopt: Support constants for cond_store_replacement_limited * gcc.gnu.org/r17-4133-g230d95… * GIMPLE FE: clobber parsing * gcc.gnu.org/r17-4148-g9ed526… * match: `A - MIN (B, C)` to `A + MAX (-B, -C)` * gcc.gnu.org/r17-4209-g771f48… * match: branchless min and max folds * gcc.gnu.org/r17-4210-g9d734b… * rs6000: Add support for _BitInt * gcc.gnu.org/r17-4163-g83998f… GCC bugzilla stats * 143 new issues filed * 129 issues closed binutils/gdb commits: * RISC-V: Support Zvabd version 0.9 * sourceware.org/cgit/binutils… * RISC-V: Add Sspmp extension support * sourceware.org/cgit/binutils…
30
1,579
GCC 13.5 Released with 256+ bugs fixed, closing the release series. gcc.gnu.org/pipermail/gcc/20…
3
1
44
2,573
Implementation of GCC's Nested Functions (vs. C++ Lambdas) uecker.codeberg.page/2026-09…
9
79
4,609
GNU Tools Weekly News Week 54 (September 6, 2026) Release updates for GNU toolchain:  * GDB 18.1.0 update   * inbox.sourceware.org/gdb-pat…  * GCC 13.5.0 update   * RC1 was published   * inbox.sourceware.org/gcc/9r6…   * inbox.sourceware.org/gcc/ns4… GNU toolchain conference reminders:  * GNU Tools Cauldron 2026, Fri-Sun, October 2-4 (Prague, Czechia)   * gcc.gnu.org/wiki/cauldron202…   * conf.gnu-tools-cauldron.org/…  * Toolchains Track at LPC 2026, October 7th (Prague, Czechia)   * lpc.events/event/20/abstract… General/big GNU toolchain news:  * rustc_codegen_gcc: Progress Report #43   * blog.antoyo.xyz/rustc_codege…  * Kito Cheng is now the RISC-V binutils maintainer   * sourceware.org/cgit/binutils… GCC easy issue to tackle of the week:  * (int)(((unsigned)a) + CST) should be simplified into a + CST if a+CST is known not to overflow in int   * gcc.gnu.org/bugzilla/show_bu…   *  Reach out to Andrea Pinski for mentoring on this issue.  * Previous ones are listed on gcc.gnu.org/wiki/EasyIssuesO… GCC commits:  * gcc.gnu.org/r17-3775 r17-3966 -  192 commits  * forwprop: add simplify_phi_result_movdiv   * gcc.gnu.org/r17-3791-g5b40e9…  * match: Fold CPROJ when nested inside CPROJ or CABS   * gcc.gnu.org/r17-3801-g0e0dda…  * middle-end: add const fold for various crc builtins   * gcc.gnu.org/r17-3816-g262383…  * x86: ACEv1 support   * gcc.gnu.org/r17-3847 gcc.gnu.org/r17-3848 gcc.gnu.org/r17-3849   * gcc.gnu.org/r17-3850 gcc.gnu.org/r17-3851 gcc.gnu.org/r17-3852   * gcc.gnu.org/r17-3853  * libcpp: Optimize Arm search_line_fast   * gcc.gnu.org/r17-3868-gffc522…  * RISC-V: Add MVENDORID, MARCHID and MIMPID for 6 RISC-V cores   * gcc.gnu.org/r17-3882-gd3d6b2…  * RISC-V: Support -mtune=native and -mcpu=native   * gcc.gnu.org/r17-3883-gbbc500…  * RISC-V: Add TImode and OImode move expanders.   * gcc.gnu.org/r17-3906-ge096b2…  * match: Simplify MIN(A, B) eq/ne 0 to A when B is positive   * gcc.gnu.org/r17-3779-g09fe63… GCC discussion:  * GCC bugzilla stats  *  84 new issues filed  *  63 issues closed binutils/gdb commits:  * RISC-V: Add support for XAndes* extensions   * sourceware.org/cgit/binutils…  * RISC-V: Add support for XXTVarith and XXTVcoder extensions   * sourceware.org/cgit/binutils…  * x86: support further AMD Zen6 instructions   * sourceware.org/cgit/binutils… gdb discussion:  * binutils discussion:  * glibc commits:  * glibc discussion:  *
4
1
52
2,241
LLVM Weekly - #662, September 7th 2026. Proposed contributor policy refresh, AGENTS .md, building ClangIR by default, nanoMIPS upstreaming, deleting the ExecutionEngine interpreter, DirectX an official backend, and more llvmweekly.org/issue/662
23
1,343
Janet Chien has also put together an awesome final report on her Google Summer of Code project to implement the groundwork to get Rust’s Drop trait working in gccrs: lishin1215.github.io/gccrs-f…
5
19
1,594
GCC - GNU Toolchain retweeted
Rust Coreutils 0.11 Released With Some Nifty Debug Helper Messages Very nice error messages! Plus PGO release builds now for some big performance improvements! And hitting above 95% compatibility against @gnutools Coreutils. phoronix.com/news/Rust-Coreu…
6
56
5,519