From b64548eedcc11c27924e3b557d1a7aecfd3918b3 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 20 Jan 2025 13:33:17 -0800 Subject: KWSys: Backport "Fix GetNumberOfLogicalCPU on s390x" to CMake 3.31 The format of `/proc/cpuinfo` is different on `s390x` than other architectures. Issue: #26619 --- Source/kwsys/SystemInformation.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx index 933d649..c79058e 100644 --- a/Source/kwsys/SystemInformation.cxx +++ b/Source/kwsys/SystemInformation.cxx @@ -3418,10 +3418,16 @@ bool SystemInformationImplementation::RetrieveInformationFromCpuInfoFile() buffer.resize(fileSize - 2); // Number of logical CPUs (combination of multiple processors, multi-core // and SMT) - size_t pos = buffer.find("processor\t"); + char const* processor_string = +#ifdef __s390x__ + "cpu number"; +#else + "processor\t"; +#endif + size_t pos = buffer.find(processor_string); while (pos != std::string::npos) { this->NumberOfLogicalCPU++; - pos = buffer.find("processor\t", pos + 1); + pos = buffer.find(processor_string, pos + 1); } #if defined(__linux) || defined(__CYGWIN__) -- cgit v0.12