From adad99eb906164af7d2b398ad7e430aebe3adeb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Chigot?= Date: Tue, 19 May 2020 16:03:54 +0200 Subject: libgo: update x/sys/cpu after gccgo support added Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/234597 --- libgo/go/golang.org/x/sys/cpu/cpu_aix.go | 32 ++++++++++++++++++++++ libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go | 32 ---------------------- libgo/go/golang.org/x/sys/cpu/syscall_aix_gccgo.go | 27 ++++++++++++++++++ 3 files changed, 59 insertions(+), 32 deletions(-) create mode 100644 libgo/go/golang.org/x/sys/cpu/cpu_aix.go delete mode 100644 libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go create mode 100644 libgo/go/golang.org/x/sys/cpu/syscall_aix_gccgo.go (limited to 'libgo/go/golang.org') diff --git a/libgo/go/golang.org/x/sys/cpu/cpu_aix.go b/libgo/go/golang.org/x/sys/cpu/cpu_aix.go new file mode 100644 index 0000000..02d0312 --- /dev/null +++ b/libgo/go/golang.org/x/sys/cpu/cpu_aix.go @@ -0,0 +1,32 @@ +// Copyright 2019 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 aix + +package cpu + +const ( + // getsystemcfg constants + _SC_IMPL = 2 + _IMPL_POWER8 = 0x10000 + _IMPL_POWER9 = 0x20000 +) + +func init() { + impl := getsystemcfg(_SC_IMPL) + if impl&_IMPL_POWER8 != 0 { + PPC64.IsPOWER8 = true + } + if impl&_IMPL_POWER9 != 0 { + PPC64.IsPOWER9 = true + } + + Initialized = true +} + +func getsystemcfg(label int) (n uint64) { + r0, _ := callgetsystemcfg(label) + n = uint64(r0) + return +} diff --git a/libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go b/libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go deleted file mode 100644 index b0ede11..0000000 --- a/libgo/go/golang.org/x/sys/cpu/cpu_aix_ppc64.go +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019 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 aix,ppc64 - -package cpu - -const ( - // getsystemcfg constants - _SC_IMPL = 2 - _IMPL_POWER8 = 0x10000 - _IMPL_POWER9 = 0x20000 -) - -func init() { - impl := getsystemcfg(_SC_IMPL) - if impl&_IMPL_POWER8 != 0 { - PPC64.IsPOWER8 = true - } - if impl&_IMPL_POWER9 != 0 { - PPC64.IsPOWER9 = true - } - - Initialized = true -} - -func getsystemcfg(label int) (n uint64) { - r0, _ := callgetsystemcfg(label) - n = uint64(r0) - return -} 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 0000000..2609cc4 --- /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 +} -- cgit v1.1