This patch by Clément Chigot fixes the build of libgo on AIX, which was broken in the update to the Go 1.18 release. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
98a7a7b5275b226932f503cc1dcc21fd9a9f8476 diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 424bbebfeed..5cf2ace711b 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -45fd14ab8baf5e86012a808426f8ef52c1d77943 +34dece725f9f8826f4abe86209112626867bc716 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/internal/syscall/unix/ioctl_aix.go b/libgo/go/internal/syscall/unix/ioctl_aix.go index af105d6158b..1a768048ba8 100644 --- a/libgo/go/internal/syscall/unix/ioctl_aix.go +++ b/libgo/go/internal/syscall/unix/ioctl_aix.go @@ -12,7 +12,7 @@ import ( //extern __go_ioctl_ptr func ioctl(int32, int32, unsafe.Pointer) int32 -func Ioctl(fd int, cmd int, args uintptr) (err error) { +func Ioctl(fd int, cmd int, args unsafe.Pointer) (err error) { if ioctl(int32(fd), int32(cmd), unsafe.Pointer(args)) < 0 { return syscall.GetErrno() } diff --git a/libgo/go/os/user/listgroups_unix.go b/libgo/go/os/user/listgroups_unix.go index b3cf839b3ec..af9b544bcbe 100644 --- a/libgo/go/os/user/listgroups_unix.go +++ b/libgo/go/os/user/listgroups_unix.go @@ -14,7 +14,6 @@ import ( "io" "os" "strconv" - "syscall" ) const groupFile = "/etc/group" diff --git a/libgo/go/runtime/malloc.go b/libgo/go/runtime/malloc.go index e5ab8dedafa..7c019ee42d3 100644 --- a/libgo/go/runtime/malloc.go +++ b/libgo/go/runtime/malloc.go @@ -321,7 +321,7 @@ const ( // // On other platforms, the user address space is contiguous // and starts at 0, so no offset is necessary. - arenaBaseOffset = 0xffff800000000000*goarch.IsAmd64 + 0x0a00000000000000*goos.IsAix + arenaBaseOffset = 0xffff800000000000*goarch.IsAmd64 + 0x0a00000000000000*goos.IsAix*goarch.IsPpc64 // A typed version of this constant that will make it into DWARF (for viewcore). arenaBaseOffsetUintptr = uintptr(arenaBaseOffset) diff --git a/libgo/go/runtime/os_aix.go b/libgo/go/runtime/os_aix.go index d43765ab884..943cd2205d1 100644 --- a/libgo/go/runtime/os_aix.go +++ b/libgo/go/runtime/os_aix.go @@ -7,7 +7,6 @@ package runtime import ( - "internal/abi" "unsafe" )