This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] Handle runtime loader dyn sym resolution in reverse
- From: teawater <teawater at gmail dot com>
- To: "Joel Brobecker" <brobecker at adacore dot com>
- Cc: "Michael Snyder" <msnyder at vmware dot com>, "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Sun, 26 Oct 2008 22:14:26 +0800
- Subject: Re: [RFA] Handle runtime loader dyn sym resolution in reverse
- References: <49028B5C.2000508@vmware.com> <20081025160945.GI29998@adacore.com>
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
>