signal/syscall/swapcontext fixes

David Woodhouse dwmw2 at
Wed Mar 8 10:36:40 EST 2006

On Wed, 2006-03-08 at 07:59 +1100, Paul Mackerras wrote:
> David Woodhouse writes:
> > The 64-bit version (bl .save_nvgprs) is prettier than the 32-bit version
> > (doing it longhand), and they're still gratuitously different. We should
> > probably fix that.
> There's also the difference where ret_from_except in 32-bit does what
> ret_from_except_lite does in 64-bit, and the 32-bit
> ret_from_except_full is approximately the same as the 64-bit
> ret_from_except. :)

Oh yeah -- I remember that now :)

> > On a similar note, we should also do a ptrace stop when we deliver
> > signals, to ensure that the debugger gets a stop _on_ the first
> > instruction of the handler. Once upon a time there was a stop in
> > handle_rt_signal() and handle_signal(), but doing it that way gave a
> > _double_ stop when we ended up in a signal handler from sigsuspend(),
> > because the syscall stop you just fixed for ppc32 happened too.
> Do we have a fix for this for 2.6.16, or will we leave it until
> 2.6.17?

It's hardly a showstopper -- I suspect we can happily leave it for now.
Adding the stops back where they were isn't perfect, and I thought I had
a better plan when I removed them. Buggered if I can remember it now

> > On a purely cosmetic note I'm not sure about this though -- it was
> > slightly easier to follow when it was more explicit:
> I did it that way because we are clearing _TIF_PERSYSCALL_MASK further
> down.  If we expand one we should expand both.

Yeah, I suppose you're right.


More information about the Linuxppc-dev mailing list