]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: initialise cpu.HWCap on openbsd/arm64
authorJoel Sing <joel@sing.id.au>
Sun, 28 Apr 2019 07:59:05 +0000 (17:59 +1000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 29 Apr 2019 17:42:27 +0000 (17:42 +0000)
OpenBSD does not provide auxv, however we still need to initialise cpu.HWCap.
For now initialise it to the bare minimum, until some form of CPU capability
detection is implemented or becomes available - see issue #31746.

Updates #31656

Change-Id: I68c3c069319fe60dc873f46def2a67c9f3d937d5
Reviewed-on: https://go-review.googlesource.com/c/go/+/174129
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/auxv_none.go
src/runtime/os_openbsd_arm64.go

index 3ca617b21eb00dfc0b701f8d993186c7035b67b3..3a560a17937fc0304ef20c67b56574aa77555b98 100644 (file)
@@ -7,6 +7,7 @@
 // +build !dragonfly
 // +build !freebsd
 // +build !netbsd
+// +build !openbsd !arm64
 // +build !solaris
 
 package runtime
index 5130ce66c538148ec69f5940b85b396f7e7f947a..f15a95b653f6db3e36b1b1ed1dba40f38e7b35a0 100644 (file)
@@ -4,6 +4,10 @@
 
 package runtime
 
+import (
+       "internal/cpu"
+)
+
 //go:nosplit
 func cputicks() int64 {
        // Currently cputicks() is used in blocking profiler and to seed runtime·fastrand().
@@ -11,3 +15,10 @@ func cputicks() int64 {
        // TODO: need more entropy to better seed fastrand.
        return nanotime()
 }
+
+func sysargs(argc int32, argv **byte) {
+       // OpenBSD does not have auxv, however we still need to initialise cpu.HWCaps.
+       // For now specify the bare minimum until we add some form of capabilities
+       // detection. See issue #31746.
+       cpu.HWCap = 1<<1 | 1<<0 // ASIMD, FP
+}