internal/cpu: more build fixes for Go1.16beta1 release

Some files were missing from the libgo copy of internal/cpu, because they
used to only declare CacheLinePadSize which libgo gets from goarch.sh.
Now they also declare doinit, so copy them over.  Adjust cpu_other.go.

Fix the amd64p32 build by adding a build constraint to cpu_no_name.go.

Fixes PR go/98493

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/281472
This commit is contained in:
Ian Lance Taylor 2021-01-04 12:43:25 -08:00
parent db7ce388dc
commit a9f76d03bb
10 changed files with 64 additions and 1 deletions

View file

@ -1,4 +1,4 @@
2b5bdd22b7ec2fc13ae0f644c781f64c1a209500
5b075d039a20f32b9c2711ca67a3e52fba74f957
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View file

@ -4,6 +4,8 @@
package cpu
// const CacheLinePadSize = 32
// arm doesn't have a 'cpuid' equivalent, so we rely on HWCAP/HWCAP2.
// These are initialized by archauxv() and should not be changed after they are
// initialized.

View file

@ -0,0 +1,10 @@
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package cpu
// const CacheLinePadSize = 32
func doinit() {
}

View file

@ -6,6 +6,8 @@
package cpu
// const CacheLinePadSize = 32
// This is initialized by archauxv and should not be changed after it is
// initialized.
var HWCap uint

View file

@ -0,0 +1,10 @@
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package cpu
// const CacheLinePadSize = 32
func doinit() {
}

View file

@ -4,6 +4,7 @@
// +build !386
// +build !amd64
// +build !amd64p32
package cpu

View file

@ -7,6 +7,8 @@
// +build !amd64p32
// +build !arm
// +build !arm64
// +build !mips
// +build !mipsle
// +build !mips64
// +build !mips64le
// +build !ppc
@ -14,6 +16,7 @@
// +build !ppc64le
// +build !riscv64
// +build !s390x
// +build !wasm
package cpu

View file

@ -0,0 +1,23 @@
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build ppc ppc64 ppc64le
package cpu
// const CacheLinePadSize = 128
func doinit() {
options = []option{
{Name: "darn", Feature: &PPC64.HasDARN},
{Name: "scv", Feature: &PPC64.HasSCV},
{Name: "power9", Feature: &PPC64.IsPOWER9},
}
osinit()
}
func isSet(hwc uint, value uint) bool {
return hwc&value != 0
}

View file

@ -0,0 +1,10 @@
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package cpu
// const CacheLinePadSize = 64
func doinit() {
}

View file

@ -6,6 +6,8 @@
package cpu
// const CacheLinePadSize = 64
// cpuid is implemented in cpu_x86.s.
func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32)