diff options
author | Jordan <me@jordan.im> | 2023-08-18 00:08:21 -0700 |
---|---|---|
committer | Jordan <me@jordan.im> | 2023-08-18 00:08:21 -0700 |
commit | 61553158764c6801578076c72d8bffb423e343cc (patch) | |
tree | 5d45cf4b6699eebf01e9f2b6ac9ff0000819ebd2 /vendor/golang.org/x/sys/cpu/hwcap_linux.go | |
parent | 001a042ccba1c3faf340d8217ee8d15efa60dc05 (diff) | |
download | keep-61553158764c6801578076c72d8bffb423e343cc.tar.gz keep-61553158764c6801578076c72d8bffb423e343cc.zip |
misc: go get -u; go mod tidy; go mod vendor
Diffstat (limited to 'vendor/golang.org/x/sys/cpu/hwcap_linux.go')
-rw-r--r-- | vendor/golang.org/x/sys/cpu/hwcap_linux.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/vendor/golang.org/x/sys/cpu/hwcap_linux.go b/vendor/golang.org/x/sys/cpu/hwcap_linux.go index f3baa37..1d9d91f 100644 --- a/vendor/golang.org/x/sys/cpu/hwcap_linux.go +++ b/vendor/golang.org/x/sys/cpu/hwcap_linux.go @@ -24,6 +24,21 @@ var hwCap uint var hwCap2 uint func readHWCAP() error { + // For Go 1.21+, get auxv from the Go runtime. + if a := getAuxv(); len(a) > 0 { + for len(a) >= 2 { + tag, val := a[0], uint(a[1]) + a = a[2:] + switch tag { + case _AT_HWCAP: + hwCap = val + case _AT_HWCAP2: + hwCap2 = val + } + } + return nil + } + buf, err := ioutil.ReadFile(procAuxv) if err != nil { // e.g. on android /proc/self/auxv is not accessible, so silently |