This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [commit] Simplify STEP_OVER_UNDEBUGGABLE
- From: Andrew Cagney <cagney at gnu dot org>
- To: Daniel Jacobowitz <drow at false dot org>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Tue, 18 May 2004 14:46:30 -0400
- Subject: Re: [commit] Simplify STEP_OVER_UNDEBUGGABLE
- References: <40A5132B.4050809@gnu.org> <20040518181427.GA6046@nevyn.them.org>
For instance, this code used to be used in the STEP_OVER_UNDEBUGGABLE
("step" command) case. Now it isn't. So if we say "step" at the end
of a function, which makes a sibling call to another debuggable
function through an undebuggable trampoline, we will now return to the
caller instead of stepping in.
What you describe is an extension of this:
if (step_range_end != 1
&& (step_over_calls == STEP_OVER_UNDEBUGGABLE
|| step_over_calls == STEP_OVER_ALL)
&& get_frame_type (get_current_frame ()) == SIGTRAMP_FRAME)
{
/* The inferior, while doing a "step" or "next", has ended up in
a signal trampoline (either by a signal being delivered or by
the signal handler returning). Just single-step until the
inferior leaves the trampoline (either by calling the handler
or returning). */
keep_going (ecs);
return;
}
Andrew