Commit 6f47fa2d authored by Yuval Pavel Zholkover's avatar Yuval Pavel Zholkover Committed by Ian Lance Taylor

runtime: fix AT_HWCAP auxv parsing on freebsd

AT_HWCAP is not available on FreeBSD-11.1-RELEASE or earlier and the wrong const was used.
Use the correct value, and initialize hwcap with ^uint32(0) inorder not to fail the VFP tests.

Fixes #24507.

Change-Id: I5c3eed57bb53bf992b7de0eec88ea959806306b9
Reviewed-on: https://go-review.googlesource.com/102355Reviewed-by: 's avatarTobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 41402b59
......@@ -380,7 +380,7 @@ func sysargs(argc int32, argv **byte) {
const (
_AT_NULL = 0 // Terminates the vector
_AT_PAGESZ = 6 // Page size in bytes
_AT_HWCAP = 16 // CPU feature flags
_AT_HWCAP = 26 // CPU feature flags
)
func sysauxv(auxv []uintptr) {
......
......@@ -10,8 +10,8 @@ const (
_HWCAP_IDIVA = 1 << 17
)
var hwcap uint32 // set by archauxv
var hardDiv bool // set if a hardware divider is available
var hwcap = ^uint32(0) // set by archauxv
var hardDiv bool // set if a hardware divider is available
func checkgoarm() {
if goarm > 5 && hwcap&_HWCAP_VFP == 0 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment