diff options
| author | Keith Randall <khr@golang.org> | 2018-03-14 15:21:37 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2018-03-15 17:31:57 +0000 |
| commit | 9d4215311ba573a5b676de85b053eec03e577478 (patch) | |
| tree | 439397eba561aa95ee38129a61b5afe735b1f2b4 /src/runtime/runtime2.go | |
| parent | cd2cb6e3f57e4820d66dbefd7577048c38ee9e04 (diff) | |
| download | go-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.go | 4 |
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 |
