depends: drop qtbase-moc-ignore-gcc-macro.patch qt patch
What changed, and why it matters
This commit removes a build-system patch that Bitcoin Core used to apply to Qt during compilation. The patch told Qt's meta-object compiler (moc) to ignore a GCC internal macro. The commit message says the underlying Qt bug was fixed in Qt 6.5 or 6.6, so the patch is no longer needed. There is no direct evidence in the commit of a security vulnerability in Bitcoin Core itself.
No security action required. Verify that the Qt version used by the depends build is 6.5 or later so the upstream fix is present, otherwise the old build failure could recur.
Security signals we found
No security-relevant code change in Bitcoin Core runtime
Removed third-party build workaround, not a vulnerability fix
Commit message frames change as upstream fix adoption, not security
Evidence from the diff
The change deletes depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch and removes references to it from depends/packages/native_qt.mk and depends/packages/qt.mk. The patch worked around QTBUG-83160 by adding _GLIBCXX_VISIBILITY to moc’s list of ignored preprocessor macros. The commit author states this was fixed upstream in Qt 6.5/6.6 via a Qt code review link. The diff only removes a workaround; it does not modify runtime Bitcoin Core code.
Changed components
depends/packages/native_qt.mkdepends/packages/qt.mkdepends/patches/qt/qtbase-moc-ignore-gcc-macro.patchInspect captured patch +0 / −21
diff --git a/depends/packages/native_qt.mk b/depends/packages/native_qt.mk
index 38469d6b..3428a1ff 100644
--- a/depends/packages/native_qt.mk
+++ b/depends/packages/native_qt.mk
@@ -6,7 +6,6 @@ $(package)_file_name=$(qt_details_qtbase_file_name)
$(package)_sha256_hash=$(qt_details_qtbase_sha256_hash)
$(package)_patches_path := $(qt_details_patches_path)
$(package)_patches := dont_hardcode_pwd.patch
-$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
$(package)_patches += qtbase_skip_tools.patch
$(package)_patches += rcc_hardcode_timestamp.patch
$(package)_patches += qttools_skip_dependencies.patch
@@ -131,7 +130,6 @@ endef
define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
- patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase_skip_tools.patch && \
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
patch -p1 -i $($(package)_patch_dir)/qttools_skip_dependencies.patch
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index ad958b7b..4a564c4a 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -11,7 +11,6 @@ $(package)_linux_dependencies := freetype fontconfig libxcb libxkbcommon libxcb_
$(package)_freebsd_dependencies := $($(package)_linux_dependencies)
$(package)_patches_path := $(qt_details_patches_path)
$(package)_patches := dont_hardcode_pwd.patch
-$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
$(package)_patches += qtbase_avoid_qmain.patch
$(package)_patches += qtbase_platformsupport.patch
$(package)_patches += qtbase_plugins_cocoa.patch
@@ -255,7 +254,6 @@ endif
define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
- patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase_avoid_qmain.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase_platformsupport.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase_plugins_cocoa.patch && \
diff --git a/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch b/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
deleted file mode 100644
index e5e7b126..00000000
--- a/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-The moc executable loops through headers on CPLUS_INCLUDE_PATH and stumbles
-on the GCC internal _GLIBCXX_VISIBILITY macro. Tell it to ignore it as it is
-not supposed to be looking there to begin with.
-
-Upstream report: https://bugreports.qt.io/browse/QTBUG-83160
-
-diff --git a/qtbase/src/tools/moc/main.cpp b/qtbase/src/tools/moc/main.cpp
---- a/qtbase/src/tools/moc/main.cpp
-+++ b/qtbase/src/tools/moc/main.cpp
-@@ -186,6 +186,7 @@ int runMoc(int argc, char **argv)
- dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__");
- pp.macros["__attribute__"] = dummyVariadicFunctionMacro;
- pp.macros["__declspec"] = dummyVariadicFunctionMacro;
-+ pp.macros["_GLIBCXX_VISIBILITY"] = dummyVariadicFunctionMacro;
-
- QString filename;
- QString output;
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.