From 52d5e76b39a80a7e39754ff9564a7471551b3cdd Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Thu, 7 Nov 2019 17:02:56 -0500 Subject: [PATCH] runtime: disable async preemption on darwin/arm(64) for now Enabling async preemption on darwin/arm and darwin/arm64 causes the builder to fail, e.g. https://build.golang.org/log/03f727b8f91b0c75bf54ff508d7d2f00b5cad4bf Due to the limited resource, I haven't been able to get access on those devices to debug. Disable async preemption for now. Updates #35439. Change-Id: I5a31ad6962c2bae8e6e9b8303c494610a8a4e50a Reviewed-on: https://go-review.googlesource.com/c/go/+/205842 Reviewed-by: Brad Fitzpatrick --- src/runtime/signal_arm.go | 4 +++- src/runtime/signal_arm64.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/runtime/signal_arm.go b/src/runtime/signal_arm.go index ff952b8b60c..d11023a0c30 100644 --- a/src/runtime/signal_arm.go +++ b/src/runtime/signal_arm.go @@ -63,7 +63,9 @@ func (c *sigctxt) preparePanic(sig uint32, gp *g) { c.set_pc(uint32(funcPC(sigpanic))) } -const pushCallSupported = true +// TODO(issue 35439): enabling async preemption causes failures on darwin/arm. +// Disable for now. +const pushCallSupported = GOOS != "darwin" func (c *sigctxt) pushCall(targetPC uintptr) { // Push the LR to stack, as we'll clobber it in order to diff --git a/src/runtime/signal_arm64.go b/src/runtime/signal_arm64.go index db2ab2720b7..fb09aff6f96 100644 --- a/src/runtime/signal_arm64.go +++ b/src/runtime/signal_arm64.go @@ -79,7 +79,9 @@ func (c *sigctxt) preparePanic(sig uint32, gp *g) { c.set_pc(uint64(funcPC(sigpanic))) } -const pushCallSupported = true +// TODO(issue 35439): enabling async preemption causes failures on darwin/arm64. +// Disable for now. +const pushCallSupported = GOOS != "darwin" func (c *sigctxt) pushCall(targetPC uintptr) { // Push the LR to stack, as we'll clobber it in order to