https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303

Dominik Vogt <vogt at linux dot vnet.ibm.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vogt at linux dot vnet.ibm.com

--- Comment #4 from Dominik Vogt <vogt at linux dot vnet.ibm.com> ---
I think the problem is that in the backtrace below
_Unwind_Find_registered_FDE() is called with a pc that points one byte before
the start of main.main (0x80001de8).  That is cause by this line from
uw_frame_state_for():

  fde = _Unwind_Find_FDE (context->ra + _Unwind_IsSignalFrame (context) - 1,
                          &context->bases);

-- snip --
#0  _Unwind_Find_registered_FDE (bases=0xc2084176e0, 
    pc=0x80001de7 <main.main+23>) at ../../../libgcc/unwind-dw2-fde.c:1010
#1  _Unwind_Find_FDE (pc=0x80001de7 <main.main+23>, bases=0xc2084176e0)
    at ../../../libgcc/unwind-dw2-fde-dip.c:454
#2  0x000003fff6ee665c in uw_frame_state_for (
    context=context@entry=0xc2084175b0, fs=fs@entry=0xc208417738)
    at ../../../libgcc/unwind-dw2.c:1241
#3  0x000003fff6ee8442 in _Unwind_Backtrace (trace=0x3fff7aca438 <unwind>, 
    trace_argument=0xc208417aa8) at ../../../libgcc/unwind.inc:290
#4  0x000003fff7aca51a in backtrace_full (state=<optimized out>, 
    skip=<optimized out>, callback=<optimized out>, 
    error_callback=<optimized out>, data=0xc208417b78)
    at ../../../libbacktrace/backtrace.c:106
#5  0x000003fff7773a16 in runtime_callers (skip=<optimized out>, 
    locbuf=<optimized out>, m=<optimized out>, keep_thunks=<optimized out>)
    at ../../../libgo/runtime/go-callers.c:168
#6  0x000003fff777356c in runtime.Caller (skip=skip@entry=20)
    at ../../../libgo/runtime/go-caller.c:168
#7  0x0000000080001de8 in main.main () at pr66303.go:9
-- snip --

Reply via email to