aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/runtime2.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2018-03-14 15:21:37 -0700
committerKeith Randall <khr@golang.org>2018-03-15 17:31:57 +0000
commit9d4215311ba573a5b676de85b053eec03e577478 (patch)
tree439397eba561aa95ee38129a61b5afe735b1f2b4 /src/runtime/runtime2.go
parentcd2cb6e3f57e4820d66dbefd7577048c38ee9e04 (diff)
downloadgo-9d4215311ba573a5b676de85b053eec03e577478.tar.xz
runtime: identify special functions by flag instead of address
When there are plugins, there may not be a unique copy of runtime functions like goexit, mcall, etc. So identifying them by entry address is problematic. Instead, keep track of each special function using a field in the symbol table. That way, multiple copies of the same runtime function will be treated identically. Fixes #24351 Fixes #23133 Change-Id: Iea3232df8a6af68509769d9ca618f530cc0f84fd Reviewed-on: https://go-review.googlesource.com/100739 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/runtime2.go')
-rw-r--r--src/runtime/runtime2.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go
index e6808ac023..059e14e002 100644
--- a/src/runtime/runtime2.go
+++ b/src/runtime/runtime2.go
@@ -638,8 +638,8 @@ type _func struct {
entry uintptr // start pc
nameoff int32 // function name
- args int32 // in/out args size
- _ int32 // previously legacy frame size; kept for layout compatibility
+ args int32 // in/out args size
+ funcID funcID // set for certain special runtime functions
pcsp int32
pcfile int32