Commit 44f80f6d authored by Lynn Boger's avatar Lynn Boger Committed by Ian Lance Taylor

syscall: fix epoll_event struct for ppc64le/ppc64

The existing epoll_event structure used by many of
the epoll_* syscalls was defined incorrectly
for use with ppc64le & ppc64 in the syscall
directory.  This resulted in the caller getting
incorrect information on return from these
syscalls.  This caused failures in fsnotify as
well as builds with upstream Docker.  The
structure is defined correctly in gccgo.

This adds a pad field that is expected for
these syscalls on ppc64le, ppc64.
Fixes #15135

Change-Id: If7e8ea9eb1d1ca5182c8dc0f935b334127341ffd
Reviewed-on: https://go-review.googlesource.com/21582Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
parent f120936d
......@@ -116,6 +116,9 @@ struct my_epoll_event {
// padding is not specified in linux/eventpoll.h but added to conform to the
// alignment requirements of EABI
int32_t padFd;
#endif
#ifdef __powerpc64__
int32_t _padFd;
#endif
int32_t fd;
int32_t pad;
......
......@@ -575,6 +575,7 @@ type Ustat_t struct {
type EpollEvent struct {
Events uint32
X_padFd int32
Fd int32
Pad int32
}
......
......@@ -575,6 +575,7 @@ type Ustat_t struct {
type EpollEvent struct {
Events uint32
X_padFd int32
Fd int32
Pad int32
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment