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: Joel Brobecker <brobecker at adacore dot com>
- To: Michael Snyder <msnyder at vmware dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, teawater <teawater at gmail dot com>
- Date: Sat, 25 Oct 2008 09:09:45 -0700
- Subject: Re: [RFA] Handle runtime loader dyn sym resolution in reverse
- References: <49028B5C.2000508@vmware.com>
> 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