From: Keith Randall Date: Mon, 11 Apr 2022 21:56:11 +0000 (-0700) Subject: runtime: align m.procid to 8 bytes on 32-bit systems X-Git-Tag: go1.19beta1~703 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ea7e3e3c0f561d1115d647e3e24ca61d0382e1ac;p=gostls13.git 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. 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 --- diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go index b903cc8011..b2c42d0e5c 100644 --- a/src/runtime/runtime2.go +++ b/src/runtime/runtime2.go @@ -516,6 +516,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