diff --git a/SystemInformation.cxx b/SystemInformation.cxx index 7b0d271196bcc10908a75118176339c9e878c73e..9b1a85bfda7d24ae1652e8a8b06e65505d776f91 100644 --- a/SystemInformation.cxx +++ b/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"); + const char* 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__)