aboutsummaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/sys/cpu/hwcap_linux.go
diff options
context:
space:
mode:
authorJordan <me@jordan.im>2023-08-18 00:08:21 -0700
committerJordan <me@jordan.im>2023-08-18 00:08:21 -0700
commit61553158764c6801578076c72d8bffb423e343cc (patch)
tree5d45cf4b6699eebf01e9f2b6ac9ff0000819ebd2 /vendor/golang.org/x/sys/cpu/hwcap_linux.go
parent001a042ccba1c3faf340d8217ee8d15efa60dc05 (diff)
downloadkeep-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.go15
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