internal/cpu: more build fixes for Go1.16beta1 release
authorIan Lance Taylor <iant@golang.org>
Mon, 4 Jan 2021 20:43:25 +0000 (12:43 -0800)
committerIan Lance Taylor <iant@golang.org>
Tue, 5 Jan 2021 21:48:59 +0000 (13:48 -0800)
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

gcc/go/gofrontend/MERGE
libgo/go/internal/cpu/cpu_arm.go
libgo/go/internal/cpu/cpu_mips.go [new file with mode: 0644]
libgo/go/internal/cpu/cpu_mips64x.go
libgo/go/internal/cpu/cpu_mipsle.go [new file with mode: 0644]
libgo/go/internal/cpu/cpu_no_name.go
libgo/go/internal/cpu/cpu_other.go
libgo/go/internal/cpu/cpu_ppc64x.go [new file with mode: 0644]
libgo/go/internal/cpu/cpu_wasm.go [new file with mode: 0644]
libgo/go/internal/cpu/cpu_x86.go

index f4c99756d25fef6a37b1bf6a5cd072bb0bbf6449..c80f1cc1425b33519ae6cbd90d986521383ee18b 100644 (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.
index 7324e7b81511038445d2a320bd6c83d5da10bc18..06962cfc518fada14eaabed0a7c7950bec774dae 100644 (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.
diff --git a/libgo/go/internal/cpu/cpu_mips.go b/libgo/go/internal/cpu/cpu_mips.go
new file mode 100644 (file)
index 0000000..48755b6
--- /dev/null
@@ -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() {
+}
index af10a5071eae9c06be13f27679eb41dcf77c47ae..58fbd3db93dbfd1fb7942edbb970c5398d0406c2 100644 (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
diff --git a/libgo/go/internal/cpu/cpu_mipsle.go b/libgo/go/internal/cpu/cpu_mipsle.go
new file mode 100644 (file)
index 0000000..48755b6
--- /dev/null
@@ -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() {
+}
index ce1c37a3c7ca69dc0b25874bb60579e18ec84c73..f028a92c9357179af653c1140e0956099423b9a2 100644 (file)
@@ -4,6 +4,7 @@
 
 // +build !386
 // +build !amd64
+// +build !amd64p32
 
 package cpu
 
index d0f1f2e215042d4b1b63b29ebec39971b8878de8..ba3c42ad569833094c8862ae635a2a72e88a30ac 100644 (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
 
diff --git a/libgo/go/internal/cpu/cpu_ppc64x.go b/libgo/go/internal/cpu/cpu_ppc64x.go
new file mode 100644 (file)
index 0000000..0a48f6a
--- /dev/null
@@ -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
+}
diff --git a/libgo/go/internal/cpu/cpu_wasm.go b/libgo/go/internal/cpu/cpu_wasm.go
new file mode 100644 (file)
index 0000000..c9ab4ca
--- /dev/null
@@ -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() {
+}
index 9aa5c3acd42b4c5b94fa7f0537a418df0db9e056..338d90992c504d80a3371db2156a1f59f0efbbb7 100644 (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)