depends: drop qtbase_avoid_native_float16 qt patch
What changed, and why it matters
This commit removes a build-system patch that forced Qt to avoid using newer native half-precision floating-point types. The change is a cleanup: Bitcoin Core no longer requires an old libgcc version, so the workaround is unnecessary. There is no direct security relevance in the diff itself.
No security action required. This is a routine build-system maintenance change. Reviewers may verify that CI builds still pass on supported platforms after removing the patch.
Security signals we found
No strong security signals were identified.
Evidence from the diff
Commit 169f93d2 drops the qtbase_avoid_native_float16.patch from depends/packages/qt.mk and deletes the patch file. The patch previously disabled native float16 support in Qt’s qtypes.h to avoid runtime compatibility issues with older libgcc versions. PR #33181 removed the minimum libgcc requirement, making the patch obsolete. The change only affects the Qt dependency build configuration and does not modify Bitcoin Core runtime code, consensus logic, networking, wallet handling, or cryptography.
Changed components
depends/packages/qt.mkdepends/patches/qt/qtbase_avoid_native_float16.patchInspect captured patch +0 / −39
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 9ac4088e..ad958b7b 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -12,7 +12,6 @@ $(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_native_float16.patch
$(package)_patches += qtbase_avoid_qmain.patch
$(package)_patches += qtbase_platformsupport.patch
$(package)_patches += qtbase_plugins_cocoa.patch
@@ -257,7 +256,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_native_float16.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_avoid_native_float16.patch b/depends/patches/qt/qtbase_avoid_native_float16.patch
deleted file mode 100644
index ec03d140..00000000
--- a/depends/patches/qt/qtbase_avoid_native_float16.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Avoid using native float16 types in Qt's qfloat16
-
-Using native float16 types may introduce compatibility issues
-in release binaries for Linux platforms.
-
-See: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e42d2d2a20f2bb59928bc895ec9f46503a1b5c73
-
-This patch can be dropped once the minimum required libgcc version
-is updated to 12.x or newer.
-
-
---- a/qtbase/src/corelib/global/qtypes.h
-+++ b/qtbase/src/corelib/global/qtypes.h
-@@ -258,23 +258,8 @@ using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
-
- // Define a native float16 type
- namespace QtPrivate {
--#if defined(__STDCPP_FLOAT16_T__)
--# define QFLOAT16_IS_NATIVE 1
--using NativeFloat16Type = std::float16_t;
--#elif defined(Q_CC_CLANG) && defined(__FLT16_MAX__) && 0
--// disabled due to https://github.com/llvm/llvm-project/issues/56963
--# define QFLOAT16_IS_NATIVE 1
--using NativeFloat16Type = decltype(__FLT16_MAX__);
--#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__ARM_FP16_FORMAT_IEEE)
--# define QFLOAT16_IS_NATIVE 1
--using NativeFloat16Type = __fp16;
--#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__SSE2__)
--# define QFLOAT16_IS_NATIVE 1
--using NativeFloat16Type = _Float16;
--#else
- # define QFLOAT16_IS_NATIVE 0
- using NativeFloat16Type = void;
--#endif
- } // QtPrivate
-
- #endif // __cplusplus
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.