diff options
author | Austin Clements <austin@google.com> | 2019-10-14 19:28:58 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2019-11-02 21:51:12 +0000 |
commit | 2d031dc559a720ec2c1939848a2e5de2782acd5a (patch) | |
tree | a1903b387c2a1a465895e512676cb9586a598867 /src/runtime/signal_linux_s390x.go | |
parent | 61fa79885ba83b2552e7026cb300ae426a3c0b83 (diff) | |
download | go-2d031dc559a720ec2c1939848a2e5de2782acd5a.tar.gz go-2d031dc559a720ec2c1939848a2e5de2782acd5a.zip |
runtime: support for injecting calls at signals on x86
This adds a sigctxt.pushCall method that pushes a call at the signaled
site. We'll use this to inject asynchronous preemptions and in some
places we use it to clean up preparePanic.
For the moment this only works on 386 and amd64. We stub it out on
other platforms and will avoid calling the stubbed version.
For #10958, #24543.
Change-Id: I49e0e853f935d32dd67a70c6cafbae44ee68af8e
Reviewed-on: https://go-review.googlesource.com/c/go/+/201758
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/runtime/signal_linux_s390x.go')
-rw-r--r-- | src/runtime/signal_linux_s390x.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/runtime/signal_linux_s390x.go b/src/runtime/signal_linux_s390x.go index 6892f63b9f..390ff5db48 100644 --- a/src/runtime/signal_linux_s390x.go +++ b/src/runtime/signal_linux_s390x.go @@ -109,3 +109,9 @@ func (c *sigctxt) preparePanic(sig uint32, gp *g) { c.set_r13(uint64(uintptr(unsafe.Pointer(gp)))) c.set_pc(uint64(funcPC(sigpanic))) } + +const pushCallSupported = false + +func (c *sigctxt) pushCall(targetPC uintptr) { + throw("not implemented") +} |