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