From 4f4542479d27161d70b22557c52f182c0332ac7b Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Tue, 12 Apr 2022 12:12:37 -0400 Subject: [PATCH] [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 Reviewed-by: Michael Pratt TryBot-Result: Gopher Robot Reviewed-by: Keith Randall (cherry-picked from commit ea7e3e3c0f561d1115d647e3e24ca61d0382e1ac) Reviewed-on: https://go-review.googlesource.com/c/go/+/399954 Run-TryBot: Michael Pratt --- src/runtime/runtime2.go | 1 + 1 file changed, 1 insertion(+) 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 -- 2.50.0