https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999
--- Comment #27 from Ian Lance Taylor <ian at airs dot com> --- The runtime.Callers function (and friends) are somewhat broken for gccgo no matter what we do. The problem is that we can't represent full file/line information using a single PC value, because a single PC value can't represent inlined functions. Fortunately, the case where libbacktrace does not decrement the PC is not very interesting for Go, because we aren't going to get any useful file/line information for that case anyhow. It's the case of unwinding through a signal handler: the PC value in the signal handler does not follow a call instruction, and therefore should not be decremented. But there is no useful file/line information in a signal handler anyhow. I'm still not fully certain as to what the best fix is.