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

teawater
2008-10-26T14:15:20Z

Hi Joel,

This patch fix the bug that I send in

http://sourceware.org/ml/gdb-patches/2008-10/msg00485.html

Thanks,
Hui

On Sun, Oct 26, 2008 at 00:09, Joel Brobecker <brobecker@adacore.com> wrote:
>> 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
>