diff options
| author | Michael Pratt <mpratt@google.com> | 2023-09-11 12:18:51 -0400 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-09-11 16:35:56 +0000 |
| commit | ea8c05508b582f7ab20850e336d5ae4abf4e448d (patch) | |
| tree | 995e6f59a842bfa727ffe4c6727ca0bae25d2777 /src/runtime/testdata/testprogcgo/stackswitch.go | |
| parent | c0c4a5981600aae2b7a9de9494a29e2f5d82be54 (diff) | |
| download | go-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.go | 43 |
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") -} |
