aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2022-04-12 12:12:37 -0400
committerHeschi Kreinick <heschi@google.com>2022-05-09 20:24:44 +0000
commit4f4542479d27161d70b22557c52f182c0332ac7b (patch)
treeff139824648c54ff8d9d4ab80ed06be97f5ade13
parent13bda0ebfb00a84bfb422985c62914f2bcb62a40 (diff)
downloadgo-4f4542479d27161d70b22557c52f182c0332ac7b.tar.gz
go-4f4542479d27161d70b22557c52f182c0332ac7b.zip
[release-branch.go1.18] runtime: align m.procid to 8 bytes on 32-bit systems
https://go-review.googlesource.com/c/go/+/383434 started using atomic Load64 on this field, which breaks 32 bit platforms which require 64-bit alignment of uint64s that are passed to atomic operations. Not sure why this doesn't break everywhere, but I saw it break on my laptop during all.bash. For #51776. Fixes #52305. Change-Id: Ida27b23068b3cc7208fce3c97b69a464ccf68209 Reviewed-on: https://go-review.googlesource.com/c/go/+/399754 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com> (cherry-picked from commit ea7e3e3c0f561d1115d647e3e24ca61d0382e1ac) Reviewed-on: https://go-review.googlesource.com/c/go/+/399954 Run-TryBot: Michael Pratt <mpratt@google.com>
-rw-r--r--src/runtime/runtime2.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go
index 3d01ac5171..b40045e4a5 100644
--- a/src/runtime/runtime2.go
+++ b/src/runtime/runtime2.go
@@ -514,6 +514,7 @@ type m struct {
g0 *g // goroutine with scheduling stack
morebuf gobuf // gobuf arg to morestack
divmod uint32 // div/mod denominator for arm - known to liblink
+ _ uint32 // align next field to 8 bytes
// Fields not known to debuggers.
procid uint64 // for debuggers, but offset not hard-coded