guix: pass --disable-tm-clone-registry to base GCC
What changed, and why it matters
This commit changes how Bitcoin Core's reproducible build system compiles its own copy of the GCC compiler. It adds a flag that removes unused support for 'transactional memory' from a low-level compiler helper library. This is a build-hardening/size-reduction change, not a fix for an active security bug. There is no evidence it addresses a known vulnerability or changes how Bitcoin nodes process data.
No immediate action required. Treat as routine build maintenance. Reviewers may verify that the resulting binaries remain reproducible and that no needed functionality was removed.
Security signals we found
Build toolchain hardening
Reduction of unused libgcc surface area
No runtime code change in Bitcoin Core
Evidence from the diff
The patch adds –disable-tm-clone-registry to the configure flags for the base GCC package used in Guix reproducible builds. This disables the transactional-memory clone registry in libgcc, which the GCC documentation says reduces code size for embedded targets that do not use transactional memory. The change is purely in contrib/guix/manifest_build.scm and affects only the toolchain build manifest.
Changed components
contrib/guix/manifest_build.scmGuix reproducible build toolchainBase GCC/libgcc build configurationInspect captured patch +1 / −0
diff --git a/contrib/guix/manifest_build.scm b/contrib/guix/manifest_build.scm
index 53e70ac0..adafdf91 100644
--- a/contrib/guix/manifest_build.scm
+++ b/contrib/guix/manifest_build.scm
@@ -199,6 +199,7 @@ chain for " target " development."))
"--disable-libsanitizer"
"--disable-lto"
"--disable-nls"
+ "--disable-tm-clone-registry"
#$building-on)))
((#:phases phases)
#~(modify-phases #$phases
Why this scored 16/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.