This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Unexpected automatic language switch - get_frame_language()


On Wed, Dec 10, 2003 at 02:16:14PM -0500, Joel Brobecker wrote:
> [quick reply before I run to catch my flight] 
> > You may want to look in the archives for the breakpoint_ops and catch
> > exception patches I posted earlier this year; they're broader but do
> > essentially the same thing.
> 
> Wildo.
> 
> > Personally I don't like this "language dependent breakpoint syntax"
> > idea.  Here's one reason why: judging from your implementation I bet
> > that a breakpoint on the starting instruction of the exception raising
> > function will cause this magic to happen.
> 
> I don't think so, because we actually also added a field in the
> breakpoint structure that says whether the breakpoint is an exception
> breakpoint or not. So what happens is that we only try to walk up the
> stack only if that flag is set. 
> 
> I should have mentionned that in my previous message, my bad.
> 
> Incidentally, this makes our change a bit more intrusive than it
> actually looks from my previous message.  Given yours and Andrew's
> feedback, I am sold on the "catch" approach, but I need to discuss this
> within ACT. We do have a backward compatibilty problem, since this
> command has been used for a long time by our users, now... In any case,
> this is orthogonal to how this will be supported by the FSF version
> of GDB, so it's not something for you to worry about, our problem.

It also makes the issue very easy for you to handle at ACT.  Just
add the first hook in the same place and translate "break exception" to
"catch raise" and you should be fine.  Switching the internal
implementation to make catch raise work should not be all that
difficult.

> > With "catch exception" that information is stored at a higher level,
> > so you can break *0x08010102 and _not_ have GDB try to walk up a
> > couple of frames.
> 
> Same for Ada exception breakpoints.

OK, that makes me feel much better about it :)

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]