Re: [RFA] dummy frame handling cleanup, plus inferior fun call signal handling improvement

Pedro Alves
2008-12-05T00:37:51Z

On Friday 05 December 2008 00:18:00, Ulrich Weigand wrote:
> Pedro Alves wrote:
> > On Thursday 04 December 2008 22:32:12, Doug Evans wrote:
> > > In the original code, is there a case when stop_pc != registers.pc?
> >
> > Here,
> >
> > <stopped at 0x1234, thread 1>
> > (gdb) set $pc = 0xf00
> > (gdb) call func()
>
> Huh. But that case is in fact *broken*, because GDB will use stop_pc
> incorrectly: for example, the check whether we are about to continue
> at a breakpoint will look at stop_pc, but then continue at $pc.

This one I believe was the original intention. The rationale being
that you'd not want to hit a breakpoint again at stop_pc (0x1234),
because there's where you stopped; but, you'd want to hit a a breakpoint
at 0xf00, sort of like jump *$pc hits a breakpoint at $pc.

Note, I'm not saying I agree with this. I did say that probably nobody
would notice if we got rid of stop_pc.

> It seems to me just about every current user of stop_pc *really* wants
> to look at regcache_read_pc (get_current_regcache ()) ...

I've been sneaking the idea of getting rid of stop_pc for a while now:
http://sourceware.org/ml/gdb-patches/2008-06/msg00450.html

In fact, I have a months old patch here that completelly removes stop_pc.
IIRC, there were no visible changes in the testsuite. Say the word,
and I'll brush it up, regtest, submit it.

--
Pedro Alves