]> Cypherpunks repositories - gostls13.git/commit
runtime: support symbolic backtrace of C code in a cgo crash
authorIan Lance Taylor <iant@golang.org>
Sat, 12 Dec 2015 01:16:48 +0000 (17:16 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 1 Apr 2016 04:13:44 +0000 (04:13 +0000)
commitea306ae625d001a43ef20163739593a21be51f97
tree9123485cd4112995217584ee66e39c6f584533b2
parentb64f549ba95fb9115afb1db8ae594b9442c45a6e
runtime: support symbolic backtrace of C code in a cgo crash

The new function runtime.SetCgoTraceback may be used to register stack
traceback and symbolizer functions, written in C, to do a stack
traceback from cgo code.

There is a sample implementation of runtime.SetCgoSymbolizer at
github.com/ianlancetaylor/cgosymbolizer.  Just importing that package is
sufficient to get symbolic C backtraces.

Currently only supported on linux/amd64.

Change-Id: If96ee2eb41c6c7379d407b9561b87557bfe47341
Reviewed-on: https://go-review.googlesource.com/17761
Reviewed-by: Austin Clements <austin@google.com>
15 files changed:
src/runtime/cgo.go
src/runtime/cgo/callbacks.go
src/runtime/cgo/gcc_traceback.c [new file with mode: 0644]
src/runtime/cgocall.go
src/runtime/crash_cgo_test.go
src/runtime/os1_linux.go
src/runtime/runtime2.go
src/runtime/sys_linux_386.s
src/runtime/sys_linux_amd64.s
src/runtime/sys_linux_arm.s
src/runtime/sys_linux_arm64.s
src/runtime/sys_linux_mips64x.s
src/runtime/sys_linux_ppc64x.s
src/runtime/testdata/testprogcgo/traceback.go [new file with mode: 0644]
src/runtime/traceback.go