Re: [RFA] Handle runtime loader dyn sym resolution in reverse

Joel Brobecker
2008-10-25T16:10:26Z

> This is for both the main trunk and the record/replay branch
> (so I'd appreciate review by both Hui and a global maintainer).

I took a look. The patch itself is missing a little bit of context
(in terms of the code), so I wasn't sure whether I was looking at
inserting this hunk at the right place, but I think I found it:

if (ecs->event_thread->step_over_calls == STEP_OVER_ALL)
{
/* We're doing a "next".

Normal (forward) execution: set a breakpoint at the
callee's return address (the address at which the caller
will resume).

Reverse (backward) execution. set the step-resume
breakpoint at the start of the function that we just
stepped into (backwards), and continue to there. When we
get there, we'll need to single-step back to the caller. */

if (execution_direction == EXEC_REVERSE)

> 2008-10-24 Michael Snyder <msnyder@vmware.com>
>
> * infrun.c (handle_inferior_event): Handle dynamic symbol
> resolution in reverse.

Looks OK to me, but I don't understand why you check that stop_func_start
is zero. If I were to make a guess, it would be to quickly dismiss
the case were we reverse stepped into a function call, and so don't
need to check for trampolines (in other words, a CPU saver).

--
Joel