This issue has been fixed for amd64, arm64 and other platforms
in CL 643875, but it was missed when the race support was
submitted for loong64.
Fixes #71395.
Change-Id: I678f381e868214f1b3399be43187db49e1660933
Reviewed-on: https://go-review.googlesource.com/c/go/+/679055
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: sophie zhao <zhaoxiaolin@loongson.cn>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
// Switch to g0 stack.
MOVV R3, R23 // callee-saved, preserved across the CALL
MOVV R1, R24 // callee-saved, preserved across the CALL
+
+ // Switch to g0 stack if we aren't already on g0 or gsignal.
+ MOVV m_gsignal(R12), R13
+ BEQ R13, g, call
+
MOVV m_g0(R12), R13
- BEQ R13, g, call // already on g0
+ BEQ R13, g, call
MOVV (g_sched+gobuf_sp)(R13), R3
call:
JAL (RCALL)