unix/linux: add ppc system call definitions, for use with gccgo

Add system call definitions for 32-bit PowerPC (ppc).  These are
expected to be used with gccgo, as gc does not have a suitable code
generator.

These definitions are largely copied from ppc64x, with some 32-bit
specific wrappers copied from arm.

The glibc definitions of epoll_event and sockaddr_un structures need
to be overridden on ppc, similarly to some other architectures.

For golang/go#18031
Fixes golang/go#37443

Change-Id: I061ac2b8fa452dd37c2239a0b09dff2f3e9d50da
GitHub-Last-Rev: aada37a10b99a914cb9efe2abe4ef8f7f112da43
GitHub-Pull-Request: golang/sys#106
Reviewed-on: https://go-review.googlesource.com/c/sys/+/312349
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
This commit is contained in:
Ben Hutchings
2021-04-21 22:16:51 +00:00
committed by Ian Lance Taylor
parent ac73e9fd89
commit 33663a62ff
9 changed files with 2969 additions and 8 deletions
+7
View File
@@ -107,6 +107,13 @@ var targets = []target{
GNUArch: "mips64el-linux-gnuabi64",
Bits: 64,
},
{
GoArch: "ppc",
LinuxArch: "powerpc",
GNUArch: "powerpc-linux-gnu",
BigEndian: true,
Bits: 32,
},
{
GoArch: "ppc64",
LinuxArch: "powerpc",