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

--- Comment #2 from Tatsushi Inagaki <e29253 at jp dot ibm.com> ---
The first invocation of runtime.Caller() with skip==2 successfully detects
kickoff() in callback(), and thus returns ok==true.

The problem is that the succeeding invocations of runtime.Caller() with
skip==3, 4, 5, ... still continue returning ok==true. This is because
callback() returns index==1 and a non-zero pc, which are recognized as valid
information by runtime.Caller() in runitme/go-caller.c. I attached a gdb
session of the second invocation of runtime.Caller() with skip==3.

Reply via email to