This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [patch/rfc,6.1?] Use right frame ID in step_over_function
- From: Daniel Jacobowitz <drow at false dot org>
- To: Andrew Cagney <cagney at gnu dot org>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Fri, 5 Mar 2004 18:39:35 -0500
- Subject: Re: [patch/rfc,6.1?] Use right frame ID in step_over_function
- References: <40416BAF.1020308@gnu.org> <404906FF.9040508@gnu.org>
On Fri, Mar 05, 2004 at 06:02:23PM -0500, Andrew Cagney wrote:
> >Hello,
> >
> >This goes into the "how did it ever work" category. The idea of
> >step_over_function is that it:
> >
> >- finds the caller's resume address
> >- finds the caller's frame ID
> >
> >and then sets a breakpoint for that caller instance of the function. The
> >current code:
> >
> >- finds the caller's resume address
> >- finds the _callee_ frame ID
> >
> >and then uses that to set the breakpoint. Now that is plain weird! It
> >only works because either:
> >
> >- the step_frame_id patches up the bug
> >
> >- the values match as GDB is using the inner-most, rather than outer-most
> >frame address as part of the frame ID
> >
> >The bug apepars when trying to step over nested shared library non-debug
> >info functions (making sense?).
> >
> >I'll follow this up after 6.1 branch is in place.
> >
> >Its pretty heavy a change to apply to that branch and this late. However,
> >like Joel's related patch, I suspect it will be needed :-/
>
> I've checked this into the mainline. For the moment I think I'll drop
> the idea of committing it to the branch.
Since I'm not sure if you answered this already - is there a platform
(presumably NetBSD/PPC?) on which this changes testsuite results, or
did you just see it in using GDB on that platform?
Anyway, great - there's a hack in the ARM sigtramp unwinder that I
-suspect- is dead now. I'll investigate.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer