On 20/10/2015 13:05, Dr. David Alan Gilbert (git) wrote:
> + entry = cur.dereference()
> + gdb.write('----\n%s\n' % entry)
> + if cur['io_read'] == sym_fd_coroutine_enter:
> + coptr =
> (cur['opaque'].cast(gdb.lookup_type('FDYieldUntilData').pointer()))['co']
> + coptr =
> coptr.cast(gdb.lookup_type('CoroutineUContext').pointer())
> + coroutine.bt_jmpbuf(coptr['env']['__jmpbuf'])
The last two lines here can be written as
coroutine.bt_jmpbuf(coroutine.coroutine_to_jmpbuf(coptr))
with the head of Stefan's trace branch.
Paolo