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_arm.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_arm.go')
-rw-r--r-- | src/runtime/signal_arm.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/runtime/signal_arm.go b/src/runtime/signal_arm.go index 97742206c7..1b3e53d01c 100644 --- a/src/runtime/signal_arm.go +++ b/src/runtime/signal_arm.go @@ -62,3 +62,9 @@ func (c *sigctxt) preparePanic(sig uint32, gp *g) { c.set_r10(uint32(uintptr(unsafe.Pointer(gp)))) c.set_pc(uint32(funcPC(sigpanic))) } + +const pushCallSupported = false + +func (c *sigctxt) pushCall(targetPC uintptr) { + throw("not implemented") +} |