diff options
| author | Russ Cox <rsc@golang.org> | 2014-10-29 20:37:44 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2014-10-29 20:37:44 -0400 |
| commit | a5a07331444f9b48a5e09728e3d0085cfbfb2222 (patch) | |
| tree | 8baefd3eacf998bb1e04a758018d2ab8c2223beb /src/cmd/objdump/objdump_test.go | |
| parent | f9c4c16dce621f1834943f3ccda0d0a079f7b1a4 (diff) | |
| download | go-a5a07331444f9b48a5e09728e3d0085cfbfb2222.tar.xz | |
runtime: change top-most return PC from goexit to goexit+PCQuantum
If you get a stack of PCs from Callers, it would be expected
that every PC is immediately after a call instruction, so to find
the line of the call, you look up the line for PC-1.
CL 163550043 now explicitly documents that.
The most common exception to this is the top-most return PC
on the stack, which is the entry address of the runtime.goexit
function. Subtracting 1 from that PC will end up in a different
function entirely.
To remove this special case, make the top-most return PC
goexit+PCQuantum and then implement goexit in assembly
so that the first instruction can be skipped.
Fixes #7690.
LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/170720043
Diffstat (limited to 'src/cmd/objdump/objdump_test.go')
0 files changed, 0 insertions, 0 deletions
