https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999
--- Comment #47 from Ian Lance Taylor <ian at airs dot com> --- We have to separate backtrace_full and backtrace_simple, which are part of the libbacktrace library, from functions like runtime_callers which are part of libgo. The libbacktrace library is used by several different projects. It is not part of libgo. It may be correct that libbacktrace should never decrement pc. But the argument for that can't be the behaviour of the gc library. The bit in comment #9 about not decrementing the pc for a signal frame is specific to libbacktrace. You can see that in unwind in libbacktrace/backtrace.c and in simple_unwind in libbacktrace/simple.c. Perhaps we need to change libbacktrace so that backtrace_full_callback and backtrace_simple_callback take an additional parameter, which is whether the PC is in a signal frame. From libgo's perspective, though, that would be exactly the same as simply always adding to pc in callback in go-callers.c. You said that did not work, and I'm still trying to understand why.