From a322194016f0cc48a6809e89532a2051a684ea1e Mon Sep 17 00:00:00 2001 From: Peter Marko Date: Wed, 8 Apr 2026 11:32:15 +0200 Subject: [PATCH] poco: fix powerpc build Add patch which was also submitted upstream to quill. Poco should get it when they update quill component. Signed-off-by: Peter Marko Signed-off-by: Khem Raj --- ...ll-rdtsc-fallback-for-32-bit-powerpc.patch | 35 +++++++++++++++++++ meta-oe/recipes-support/poco/poco_1.15.1.bb | 1 + 2 files changed, 36 insertions(+) create mode 100644 meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch diff --git a/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch new file mode 100644 index 0000000000..734b65efa2 --- /dev/null +++ b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch @@ -0,0 +1,35 @@ +From dce2cc2886a9097971856e69737cc5c05c9239ea Mon Sep 17 00:00:00 2001 +From: Peter Marko +Date: Wed, 8 Apr 2026 10:54:25 +0200 +Subject: [PATCH] quill: use soft rdtsc fallback on 32-bit PowerPC + +Quill's rdtsc helper already avoids __rdtsc() on ARM and PPC64, but +32-bit PowerPC was not included in that guard. On powerpc targets this +falls through to the x86-specific intrinsic and fails with: + + error: '__rdtsc' was not declared in this scope + +Treat common 32-bit PowerPC compiler define the same way as PPC64 and +use the existing steady_clock-based fallback. + +Upstream-Status: Submitted [https://github.com/odygrd/quill/pull/911] +Signed-off-by: Peter Marko +--- + dependencies/quill/include/quill/core/Rdtsc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dependencies/quill/include/quill/core/Rdtsc.h b/dependencies/quill/include/quill/core/Rdtsc.h +index 3d0ae9f26..67f26cb89 100644 +--- a/dependencies/quill/include/quill/core/Rdtsc.h ++++ b/dependencies/quill/include/quill/core/Rdtsc.h +@@ -100,7 +100,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + __asm__ volatile("stck %0" : "=Q"(tsc) : : "cc"); + return tsc; + } +-#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__)) ++#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__) || defined(__PPC__)) + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + { + // soft failover +-- +2.47.2 diff --git a/meta-oe/recipes-support/poco/poco_1.15.1.bb b/meta-oe/recipes-support/poco/poco_1.15.1.bb index 7dd87606ef..35fd13f538 100644 --- a/meta-oe/recipes-support/poco/poco_1.15.1.bb +++ b/meta-oe/recipes-support/poco/poco_1.15.1.bb @@ -11,6 +11,7 @@ DEPENDS = "libpcre2 utf8proc zlib" SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ file://0002-DataTest-disable-testSQLChannel-test.patch \ + file://0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch \ file://run-ptest \ " SRCREV = "a1aacbba1bda4301db01bb1a2c2ab80677756b90"