From 1a3bf8423bba83adbd64bc8fe6c65c47a8f3d79e Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Thu, 13 Oct 2022 14:56:49 +0300 Subject: [PATCH] cpu: ignore unknown cpuid flags on non-x86 Avoid trying to create empty "cpu-cpuid." labels for cpuid flags that we don't have a description for. (cherry picked from commit 98fd07b1171e6cf68a629a507422c3a235fb6261) --- source/cpu/cpuid_arm.go | 4 ++-- source/cpu/cpuid_arm64.go | 4 ++-- source/cpu/cpuid_ppc64le.go | 8 ++++---- source/cpu/cpuid_s390x.go | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/cpu/cpuid_arm.go b/source/cpu/cpuid_arm.go index 6a142e913..2ac749543 100644 --- a/source/cpu/cpuid_arm.go +++ b/source/cpu/cpuid_arm.go @@ -95,8 +95,8 @@ func getCpuidFlags() []string { hwcap := uint64(C.gethwcap()) for i := uint(0); i < 64; i++ { key := uint64(1 << i) - val := flagNames_arm[key] - if hwcap&key != 0 { + val, ok := flagNames_arm[key] + if hwcap&key != 0 && ok { r = append(r, val) } } diff --git a/source/cpu/cpuid_arm64.go b/source/cpu/cpuid_arm64.go index e4175ae49..32f168cd5 100644 --- a/source/cpu/cpuid_arm64.go +++ b/source/cpu/cpuid_arm64.go @@ -85,8 +85,8 @@ func getCpuidFlags() []string { hwcap := uint64(C.gethwcap()) for i := uint(0); i < 64; i++ { key := uint64(1 << i) - val := flagNames_arm64[key] - if hwcap&key != 0 { + val, ok := flagNames_arm64[key] + if hwcap&key != 0 && ok { r = append(r, val) } } diff --git a/source/cpu/cpuid_ppc64le.go b/source/cpu/cpuid_ppc64le.go index 307739717..a487b14e1 100644 --- a/source/cpu/cpuid_ppc64le.go +++ b/source/cpu/cpuid_ppc64le.go @@ -132,15 +132,15 @@ func getCpuidFlags() []string { hwcap2 := uint64(C.gethwcap2()) for i := uint(0); i < 64; i++ { key := uint64(1 << i) - val := flagNames_ppc64le[key] - if hwcap&key != 0 { + val, ok := flagNames_ppc64le[key] + if hwcap&key != 0 && ok { r = append(r, val) } } for i := uint(0); i < 64; i++ { key := uint64(1 << i) - val := flag2Names_ppc64le[key] - if hwcap2&key != 0 { + val, ok := flag2Names_ppc64le[key] + if hwcap2&key != 0 && ok { r = append(r, val) } } diff --git a/source/cpu/cpuid_s390x.go b/source/cpu/cpuid_s390x.go index 339761834..6ecb4ac43 100644 --- a/source/cpu/cpuid_s390x.go +++ b/source/cpu/cpuid_s390x.go @@ -84,8 +84,8 @@ func getCpuidFlags() []string { hwcap := uint64(C.gethwcap()) for i := uint(0); i < 64; i++ { key := uint64(1 << i) - val := flagNames_s390x[key] - if hwcap&key != 0 { + val, ok := flagNames_s390x[key] + if hwcap&key != 0 && ok { r = append(r, val) } }