aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/testdata/testprogcgo/stackswitch.go
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2023-09-11 12:18:51 -0400
committerGopher Robot <gobot@golang.org>2023-09-11 16:35:56 +0000
commitea8c05508b582f7ab20850e336d5ae4abf4e448d (patch)
tree995e6f59a842bfa727ffe4c6727ca0bae25d2777 /src/runtime/testdata/testprogcgo/stackswitch.go
parentc0c4a5981600aae2b7a9de9494a29e2f5d82be54 (diff)
downloadgo-ea8c05508b582f7ab20850e336d5ae4abf4e448d.tar.xz
Revert "runtime: allow update of system stack bounds on callback from C thread"
This reverts CL 525455. The test fails to build on darwin, alpine, and android. For #62440. Change-Id: I39c6b1e16499bd61e0f166de6c6efe7a07961e62 Reviewed-on: https://go-review.googlesource.com/c/go/+/527317 Auto-Submit: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/runtime/testdata/testprogcgo/stackswitch.go')
-rw-r--r--src/runtime/testdata/testprogcgo/stackswitch.go43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/runtime/testdata/testprogcgo/stackswitch.go b/src/runtime/testdata/testprogcgo/stackswitch.go
deleted file mode 100644
index b4bb5f5fd9..0000000000
--- a/src/runtime/testdata/testprogcgo/stackswitch.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2023 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build unix && !openbsd
-
-package main
-
-/*
-void callStackSwitchCallbackFromThread(void);
-*/
-import "C"
-
-import (
- "fmt"
- "runtime/debug"
-)
-
-func init() {
- register("StackSwitchCallback", StackSwitchCallback)
-}
-
-//export stackSwitchCallback
-func stackSwitchCallback() {
- // We want to trigger a bounds check on the g0 stack. To do this, we
- // need to call a splittable function through systemstack().
- // SetGCPercent contains such a systemstack call.
- gogc := debug.SetGCPercent(100)
- debug.SetGCPercent(gogc)
-}
-
-
-// Regression test for https://go.dev/issue/62440. It should be possible for C
-// threads to call into Go from different stacks without crashing due to g0
-// stack bounds checks.
-//
-// N.B. This is only OK for threads created in C. Threads with Go frames up the
-// stack must not change the stack out from under us.
-func StackSwitchCallback() {
- C.callStackSwitchCallbackFromThread();
-
- fmt.Printf("OK\n")
-}