diff --git a/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb b/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb index 7b250752d8..eecc2df538 100644 --- a/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb +++ b/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb @@ -8,6 +8,7 @@ SRC_URI += "file://OEToolchainConfig.cmake \ file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ file://0001-CMakeLists.txt-disable-USE_NGHTTP2.patch \ file://CVE-2025-9301.patch \ + file://0001-bootstrap-Fix-compilation-with-gcc-16-devirtualizati.patch \ " LICENSE:append = " & BSD-1-Clause & MIT & BSD-2-Clause & curl" diff --git a/meta/recipes-devtools/cmake/cmake/0001-bootstrap-Fix-compilation-with-gcc-16-devirtualizati.patch b/meta/recipes-devtools/cmake/cmake/0001-bootstrap-Fix-compilation-with-gcc-16-devirtualizati.patch new file mode 100644 index 0000000000..2f28e3a7ba --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/0001-bootstrap-Fix-compilation-with-gcc-16-devirtualizati.patch @@ -0,0 +1,36 @@ +From 0f8fdfb55950e383d9780b875bc8d7213db8a42a Mon Sep 17 00:00:00 2001 +From: Brad King +Date: Wed, 24 Sep 2025 12:02:37 -0400 +Subject: [PATCH] bootstrap: Fix compilation with gcc 16 devirtualization + +Avoid including a header for a subclass whose implementation is not +compiled during bootstrap. + +Fixes: #27256 + +Upstream-Status: Backport [v3.31.10 ea04e19daf7010781d0df980b9683a642093e381 https://gitlab.kitware.com/cmake/cmake/-/merge_requests/11243] +Signed-off-by: Martin Jansa +--- + Source/cmake.cxx | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Source/cmake.cxx b/Source/cmake.cxx +index 636a0da5b8..0e05afb7a6 100644 +--- a/Source/cmake.cxx ++++ b/Source/cmake.cxx +@@ -124,12 +124,12 @@ + # include "cmExtraEclipseCDT4Generator.h" + # include "cmExtraKateGenerator.h" + # include "cmExtraSublimeTextGenerator.h" +-#endif + + // NOTE: the __linux__ macro is predefined on Android host too, but + // main CMakeLists.txt filters out this generator by host name. +-#if (defined(__linux__) && !defined(__ANDROID__)) || defined(_WIN32) +-# include "cmGlobalGhsMultiGenerator.h" ++# if (defined(__linux__) && !defined(__ANDROID__)) || defined(_WIN32) ++# include "cmGlobalGhsMultiGenerator.h" ++# endif + #endif + + #if defined(__APPLE__) diff --git a/meta/recipes-devtools/cmake/cmake_3.28.3.bb b/meta/recipes-devtools/cmake/cmake_3.28.3.bb index 1841bfd1cf..f018ca21ff 100644 --- a/meta/recipes-devtools/cmake/cmake_3.28.3.bb +++ b/meta/recipes-devtools/cmake/cmake_3.28.3.bb @@ -11,7 +11,9 @@ SRC_URI:append:class-nativesdk = " \ file://cmake-setup.py \ file://environment.d-cmake.sh \ " -SRC_URI += "file://CVE-2025-9301.patch" +SRC_URI += "file://CVE-2025-9301.patch \ + file://0001-bootstrap-Fix-compilation-with-gcc-16-devirtualizati.patch \ +" LICENSE:append = " & BSD-1-Clause & MIT" LIC_FILES_CHKSUM:append = " \