mirror of
https://github.com/golang/sys.git
synced 2026-02-07 19:26:03 +03:00
cpu: avoid illegal instruction on openbsd/arm64
On OpenBSD, this package tries to read a privileged register, which results in a SIGILL. Use the same workaround as Android, iOS and NetBSD. Update golang/go#31746 Change-Id: I981249310169bc30b018c1a157529a4e46597d81 Reviewed-on: https://go-review.googlesource.com/c/sys/+/263337 Trust: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Joel Sing <joel@sing.id.au>
This commit is contained in:
committed by
Tobias Klauser
parent
b09fb700fb
commit
98379d014c
@@ -39,7 +39,7 @@ func initOptions() {
|
||||
|
||||
func archInit() {
|
||||
switch runtime.GOOS {
|
||||
case "android", "darwin", "ios", "netbsd":
|
||||
case "android", "darwin", "ios", "netbsd", "openbsd":
|
||||
// Android and iOS don't seem to allow reading these registers.
|
||||
//
|
||||
// NetBSD:
|
||||
@@ -47,6 +47,9 @@ func archInit() {
|
||||
// It can be read via sysctl(3). Example for future implementers:
|
||||
// https://nxr.netbsd.org/xref/src/usr.sbin/cpuctl/arch/aarch64.c
|
||||
//
|
||||
// OpenBSD:
|
||||
// See https://golang.org/issue/31746
|
||||
//
|
||||
// Fake the minimal features expected by
|
||||
// TestARM64minimalFeatures.
|
||||
ARM64.HasASIMD = true
|
||||
|
||||
Reference in New Issue
Block a user