From 8b3d332ca05c244f4f228f674b2d14c035c76ca8 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 13 Aug 2026 17:42:19 +1000 Subject: [PATCH] MDEV-40750 gcc-16.1.0 on ppc64 causes innodb to fail to compile Assembler comes up with the error: unrecognized opcode: `dcbstps' dcbstps is a Power 10 instruction. The default target arch on most platforms is Power 8 or 9. Added the target power10 to the function pmem_phwsync. The execution of this function is gated on the ISA 3.1 in pmem_persist_init so there's no chance of a SIGILL. --- storage/innobase/sync/cache.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/innobase/sync/cache.cc b/storage/innobase/sync/cache.cc index 064c29d6f0205..79b5b58f68518 100644 --- a/storage/innobase/sync/cache.cc +++ b/storage/innobase/sync/cache.cc @@ -99,6 +99,7 @@ static decltype(pmem_control::persist) pmem_persist_init() return (getauxval(AT_HWCAP) & HWCAP_DCPOP) ? pmem_cvap : pmem_cvac; } # elif defined __powerpc64__ +__attribute__((target("cpu=power10"))) static void pmem_phwsync(const void* buf, size_t size) { for (uintptr_t u= uintptr_t(buf) & ~(CPU_LEVEL1_DCACHE_LINESIZE),