go/misc/cgo/test/backdoor
Russ Cox dc370995a8 test: demo for issue 7695
Cgo writes C function declarations pretending every arg is a pointer.
If the C function is deferred, it does not inhibit stack copying on split.
The stack copying code believes the C declaration, possibly misinterpreting
integers as pointers.

Probably the right fix for Go 1.3 is to make deferred C functions inhibit
stack copying.

For Go 1.4 and beyond we probably need to make cgo generate Go code
for 6g here, not C code for 6c.

Update #7695

LGTM=khr
R=khr
CC=golang-codereviews
https://golang.org/cl/83820043
2014-04-16 23:06:37 -04:00
..
backdoor.go test: demo for issue 7695 2014-04-16 23:06:37 -04:00
runtime.c test: demo for issue 7695 2014-04-16 23:06:37 -04:00
runtime_gccgo.c misc/cgo/test: changes to pass when using gccgo 2012-11-01 13:54:09 -07:00