summaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorClément Chigot <chigot.c@gmail.com>2020-05-19 16:03:54 +0200
committerIan Lance Taylor <iant@golang.org>2020-05-25 13:43:44 -0700
commitadad99eb906164af7d2b398ad7e430aebe3adeb4 (patch)
tree445787beed55d0b68a4ae50fbac4bb559a83eb35 /libgo
parented01d707f8594827de95304371d5b62752410842 (diff)
libgo: update x/sys/cpu after gccgo support added
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/234597
Diffstat (limited to 'libgo')
-rw-r--r--libgo/go/golang.org/x/sys/cpu/cpu_aix.go (renamed from libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go)2
-rw-r--r--libgo/go/golang.org/x/sys/cpu/syscall_aix_gccgo.go27
2 files changed, 28 insertions, 1 deletions
diff --git a/libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go b/libgo/go/golang.org/x/sys/cpu/cpu_aix.go
index b0ede112d4e..02d03129e50 100644
--- a/libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go
+++ b/libgo/go/golang.org/x/sys/cpu/cpu_aix.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build aix,ppc64
+// +build aix
package cpu
diff --git a/libgo/go/golang.org/x/sys/cpu/syscall_aix_gccgo.go b/libgo/go/golang.org/x/sys/cpu/syscall_aix_gccgo.go
new file mode 100644
index 00000000000..2609cc49ae7
--- /dev/null
+++ b/libgo/go/golang.org/x/sys/cpu/syscall_aix_gccgo.go
@@ -0,0 +1,27 @@
+// Copyright 2020 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.
+
+// Recreate a getsystemcfg syscall handler instead of
+// using the one provided by x/sys/unix to avoid having
+// the dependency between them. (See golang.org/issue/32102)
+// Morover, this file will be used during the building of
+// gccgo's libgo and thus must not use a CGo method.
+
+// +build aix
+// +build gccgo
+
+package cpu
+
+import (
+ "syscall"
+)
+
+//extern getsystemcfg
+func gccgoGetsystemcfg(label uint32) (r uint64)
+
+func callgetsystemcfg(label int) (r1 uintptr, e1 syscall.Errno) {
+ r1 = uintptr(gccgoGetsystemcfg(uint32(label)))
+ e1 = syscall.GetErrno()
+ return
+}