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.

Reply via email to