What changed, and why it matters
This commit changes the build setup for Bitcoin Core's Guix reproducible-build toolchain so that the base GCC compilers used to build release binaries are compiled without Link-Time Optimization (LTO). LTO can sometimes make builds behave differently or become less reproducible, and disabling it is a conservative build-hardening/reliability choice. There is no direct evidence in the commit that this fixes an active security vulnerability.
No immediate action required for end users. For builders/developers: review whether this change affects release build reproducibility reports and ensure CI/release pipelines pick up the updated manifest.
Security signals we found
Build toolchain hardening
Reproducibility improvement
LTO disabled in base GCC packages
Evidence from the diff
The patch adds --disable-lto to the configure flags for linux-base-gcc and mingw-base-gcc in contrib/guix/manifest_build.scm. These are the compilers used in Bitcoin Core’s deterministic, bootstrapped Guix build environment. Disabling LTO in the toolchain GCC reduces the risk of non-deterministic build artifacts and avoids a class of potential miscompilation/optimization bugs that LTO can introduce. The change is build-configuration only and does not modify consensus, networking, wallet, or node logic.
Changed components
contrib/guix/manifest_build.scmGuix deterministic build toolchainlinux-base-gccmingw-base-gccInspect captured patch +2 / −0
diff --git a/contrib/guix/manifest_build.scm b/contrib/guix/manifest_build.scm
index f151824e..fc0b5b5d 100644
--- a/contrib/guix/manifest_build.scm
+++ b/contrib/guix/manifest_build.scm
@@ -172,6 +172,7 @@ chain for " target " development."))
"--enable-host-bind-now=yes"
"--disable-gcov"
"--disable-libgomp"
+ "--disable-lto"
#$building-on)))))))
(define-public linux-base-gcc
@@ -193,6 +194,7 @@ chain for " target " development."))
"--disable-libgomp"
"--disable-libquadmath"
"--disable-libsanitizer"
+ "--disable-lto"
#$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.