aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2021-10-04 21:44:08 +0000
committerMichael Pratt <mpratt@google.com>2021-10-04 22:08:53 +0000
commit7ee4c1665477c6cf574cb9128deaf9d00906c69f (patch)
tree795880e5bb3c130987ba5fef78362b1cc1601bcc /src/runtime
parentd9952ff5119d35751d44d5cd66c7164c7bc21ce0 (diff)
downloadgo-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.go11
-rw-r--r--src/runtime/defs_linux_amd64.go11
-rw-r--r--src/runtime/defs_linux_arm.go11
-rw-r--r--src/runtime/defs_linux_arm64.go11
-rw-r--r--src/runtime/defs_linux_mips64x.go11
-rw-r--r--src/runtime/defs_linux_mipsx.go11
-rw-r--r--src/runtime/defs_linux_ppc64.go11
-rw-r--r--src/runtime/defs_linux_ppc64le.go11
-rw-r--r--src/runtime/defs_linux_riscv64.go11
-rw-r--r--src/runtime/defs_linux_s390x.go11
-rw-r--r--src/runtime/os_linux.go12
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) {