From ea306ae625d001a43ef20163739593a21be51f97 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 11 Dec 2015 17:16:48 -0800 Subject: 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 --- src/runtime/sys_linux_386.s | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/runtime/sys_linux_386.s') diff --git a/src/runtime/sys_linux_386.s b/src/runtime/sys_linux_386.s index 3bf5eb0df4..4fe07e0837 100644 --- a/src/runtime/sys_linux_386.s +++ b/src/runtime/sys_linux_386.s @@ -232,6 +232,9 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$12 CALL runtime·sigtrampgo(SB) RET +TEXT runtime·cgoSigtramp(SB),NOSPLIT,$0 + JMP runtime·sigtramp(SB) + TEXT runtime·sigreturn(SB),NOSPLIT,$0 MOVL $173, AX // rt_sigreturn // Sigreturn expects same SP as signal handler, -- cgit v1.3-5-g9baa