build: Bump g++ minimum supported version to 12
What changed, and why it matters
This commit simply updates Bitcoin Core's documentation and one CI test script to say the minimum supported GCC/G++ compiler version is now 12 instead of 11. It does not change any wallet, network, or consensus code. There is no security issue in this change itself.
No security action needed. Review the linked PR #33842 if you want to understand the rationale for dropping GCC 11 support.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff updates doc/dependencies.md to list GCC 12.1 as the minimum required GCC version and updates ci/test/00_setup_env_native_previous_releases.sh to install and use gcc-12/g++-12 in the previous-releases CI job. It is a build-system/toolchain policy bump with no code changes.
Changed components
doc/dependencies.mdci/test/00_setup_env_native_previous_releases.shInspect captured patch +4 / −4
diff --git a/ci/test/00_setup_env_native_previous_releases.sh b/ci/test/00_setup_env_native_previous_releases.sh
index d9f8d3bf..19b9c66b 100755
--- a/ci/test/00_setup_env_native_previous_releases.sh
+++ b/ci/test/00_setup_env_native_previous_releases.sh
@@ -8,9 +8,9 @@ export LC_ALL=C.UTF-8
export CONTAINER_NAME=ci_native_previous_releases
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:22.04"
-# Use minimum supported python3.10 and gcc-11, see doc/dependencies.md
-export PACKAGES="gcc-11 g++-11 python3-zmq"
-export DEP_OPTS="CC=gcc-11 CXX=g++-11"
+# Use minimum supported python3.10 and gcc-12, see doc/dependencies.md
+export PACKAGES="gcc-12 g++-12 python3-zmq"
+export DEP_OPTS="CC=gcc-12 CXX=g++-12"
export TEST_RUNNER_EXTRA="--previous-releases --coverage --extended --exclude feature_dbcrash" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
export GOAL="install"
export CI_LIMIT_STACK_SIZE=1
diff --git a/doc/dependencies.md b/doc/dependencies.md
index 77391f74..3ff306f8 100644
--- a/doc/dependencies.md
+++ b/doc/dependencies.md
@@ -11,7 +11,7 @@ Bitcoin Core requires one of the following compilers.
| Dependency | Minimum required |
| --- | --- |
| [Clang](https://clang.llvm.org) | [17.0](https://github.com/bitcoin/bitcoin/pull/33555) |
-| [GCC](https://gcc.gnu.org) | [11.1](https://github.com/bitcoin/bitcoin/pull/29091) |
+| [GCC](https://gcc.gnu.org) | [12.1](https://github.com/bitcoin/bitcoin/pull/33842) |
## Required
Why this scored 15/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.