diff options
author | Carl Shapiro <cshapiro@google.com> | 2013-03-25 14:10:28 -0700 |
---|---|---|
committer | Carl Shapiro <cshapiro@google.com> | 2013-03-25 14:10:28 -0700 |
commit | 53c6847bd19f6484bb11407d0f483ff7c06e1046 (patch) | |
tree | 6bed3ba96639907733618a7cbb1680561fa92680 /misc/cgo/test/cgo_test.go | |
parent | 9928dd60b133a798f8975591ac5f077f65b43284 (diff) | |
download | go-53c6847bd19f6484bb11407d0f483ff7c06e1046.tar.gz |
runtime: store asmcgocall return PC where the ARM unwind expects it
The ARM implementation of runtime.cgocallback_gofunc diverged
from the calling convention by leaving a word of garbage at
the top of the stack and storing the return PC above the
locals. This change stores the return PC at the top of the
stack and removes the save area above the locals.
Update Issue 5124
This CL fixes first part of the ARM issues and added the unwind test.
R=golang-dev, bradfitz, minux.ma, cshapiro, rsc
CC=golang-dev
https://codereview.appspot.com/7728045
Diffstat (limited to 'misc/cgo/test/cgo_test.go')
-rw-r--r-- | misc/cgo/test/cgo_test.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/misc/cgo/test/cgo_test.go b/misc/cgo/test/cgo_test.go index 536fa507a..1901d5d08 100644 --- a/misc/cgo/test/cgo_test.go +++ b/misc/cgo/test/cgo_test.go @@ -36,5 +36,6 @@ func TestBoolAlign(t *testing.T) { testBoolAlign(t) } func Test3729(t *testing.T) { test3729(t) } func Test3775(t *testing.T) { test3775(t) } func TestCthread(t *testing.T) { testCthread(t) } +func TestCallbackCallers(t *testing.T) { testCallbackCallers(t) } func BenchmarkCgoCall(b *testing.B) { benchCgoCall(b) } |