diff options
| author | Michael Pratt <mpratt@google.com> | 2021-10-04 21:44:08 +0000 |
|---|---|---|
| committer | Michael Pratt <mpratt@google.com> | 2021-10-04 22:08:53 +0000 |
| commit | 7ee4c1665477c6cf574cb9128deaf9d00906c69f (patch) | |
| tree | 795880e5bb3c130987ba5fef78362b1cc1601bcc /src/runtime | |
| parent | d9952ff5119d35751d44d5cd66c7164c7bc21ce0 (diff) | |
| download | go-7ee4c1665477c6cf574cb9128deaf9d00906c69f.tar.xz | |
Revert "runtime: add padding to Linux kernel structures"
This reverts commit f0db7eae74ea235e9fbc2598252bfd46c1cc5510.
Reason for revert: Breaks linux-386 tests
Change-Id: Ia51fbf97460ab52920b67d6db6177ac2d6b0058e
Reviewed-on: https://go-review.googlesource.com/c/go/+/353432
Trust: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/defs_linux_386.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_amd64.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_arm.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_arm64.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_mips64x.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_mipsx.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_ppc64.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_ppc64le.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_riscv64.go | 11 | ||||
| -rw-r--r-- | src/runtime/defs_linux_s390x.go | 11 | ||||
| -rw-r--r-- | src/runtime/os_linux.go | 12 |
11 files changed, 0 insertions, 122 deletions
diff --git a/src/runtime/defs_linux_386.go b/src/runtime/defs_linux_386.go index fd9b60c444..d8b546cb4c 100644 --- a/src/runtime/defs_linux_386.go +++ b/src/runtime/defs_linux_386.go @@ -3,8 +3,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -174,11 +172,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint32 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type stackt struct { @@ -242,10 +235,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_amd64.go b/src/runtime/defs_linux_amd64.go index 29dabe08dd..6afb67f77f 100644 --- a/src/runtime/defs_linux_amd64.go +++ b/src/runtime/defs_linux_amd64.go @@ -3,8 +3,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -136,11 +134,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -159,10 +152,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_arm.go b/src/runtime/defs_linux_arm.go index 3ed6940647..ec24d76326 100644 --- a/src/runtime/defs_linux_arm.go +++ b/src/runtime/defs_linux_arm.go @@ -4,8 +4,6 @@ package runtime -import "internal/goarch" - // Constants const ( _EINTR = 0x4 @@ -177,10 +175,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type siginfo struct { @@ -189,11 +183,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint32 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type sigactiont struct { diff --git a/src/runtime/defs_linux_arm64.go b/src/runtime/defs_linux_arm64.go index 6a126c4a15..f9f175004b 100644 --- a/src/runtime/defs_linux_arm64.go +++ b/src/runtime/defs_linux_arm64.go @@ -3,8 +3,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -136,11 +134,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -159,10 +152,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_mips64x.go b/src/runtime/defs_linux_mips64x.go index 34e803331c..1743bbce41 100644 --- a/src/runtime/defs_linux_mips64x.go +++ b/src/runtime/defs_linux_mips64x.go @@ -8,8 +8,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -145,11 +143,6 @@ type siginfo struct { __pad0 [1]int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -168,10 +161,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_mipsx.go b/src/runtime/defs_linux_mipsx.go index 7a7db7f181..e84d4979e1 100644 --- a/src/runtime/defs_linux_mipsx.go +++ b/src/runtime/defs_linux_mipsx.go @@ -8,8 +8,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -139,11 +137,6 @@ type siginfo struct { si_errno int32 // below here is a union; si_addr is the only field we use si_addr uint32 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -162,10 +155,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_ppc64.go b/src/runtime/defs_linux_ppc64.go index 7971ca7058..e0775e2974 100644 --- a/src/runtime/defs_linux_ppc64.go +++ b/src/runtime/defs_linux_ppc64.go @@ -3,8 +3,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -137,11 +135,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -160,10 +153,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_ppc64le.go b/src/runtime/defs_linux_ppc64le.go index 7971ca7058..e0775e2974 100644 --- a/src/runtime/defs_linux_ppc64le.go +++ b/src/runtime/defs_linux_ppc64le.go @@ -3,8 +3,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -137,11 +135,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -160,10 +153,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_riscv64.go b/src/runtime/defs_linux_riscv64.go index 92f4563dd5..1052213a4c 100644 --- a/src/runtime/defs_linux_riscv64.go +++ b/src/runtime/defs_linux_riscv64.go @@ -4,8 +4,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -134,11 +132,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -157,10 +150,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/defs_linux_s390x.go b/src/runtime/defs_linux_s390x.go index 8a56ef0b80..b072955d4a 100644 --- a/src/runtime/defs_linux_s390x.go +++ b/src/runtime/defs_linux_s390x.go @@ -4,8 +4,6 @@ package runtime -import "internal/goarch" - const ( _EINTR = 0x4 _EAGAIN = 0xb @@ -133,11 +131,6 @@ type siginfo struct { si_code int32 // below here is a union; si_addr is the only field we use si_addr uint64 - - // Pad struct to the max size in the kernel. Account for the 3 32-bit - // fields, the alignment to this architecture's pointer size, and the final - // pointer-length field. - _ [_si_max_size - (3*4 + (1-4/goarch.PtrSize)*4 + 1*goarch.PtrSize)]byte } type itimerspec struct { @@ -156,10 +149,6 @@ type sigevent struct { notify int32 // below here is a union; sigev_notify_thread_id is the only field we use sigev_notify_thread_id int32 - - // Pad struct to the max size in the kernel. Account for the pointer-length - // field and the 3 32-bit fields. - _ [_sigev_max_size - (1*goarch.PtrSize + 3*4)]byte } type epollevent struct { diff --git a/src/runtime/os_linux.go b/src/runtime/os_linux.go index d5a5ff763b..06773c2193 100644 --- a/src/runtime/os_linux.go +++ b/src/runtime/os_linux.go @@ -440,18 +440,6 @@ func pipe() (r, w int32, errno int32) func pipe2(flags int32) (r, w int32, errno int32) func setNonblock(fd int32) -const ( - _si_max_size = 128 - _sigev_max_size = 64 -) - -// Assert that the Go definitions of structures exchanged with the kernel are -// the same size as what the kernel defines. -var ( - _ [_si_max_size]struct{} = [unsafe.Sizeof(siginfo{})]struct{}{} - _ [_sigev_max_size]struct{} = [unsafe.Sizeof(sigevent{})]struct{}{} -) - //go:nosplit //go:nowritebarrierrec func setsig(i uint32, fn uintptr) { |
