[RFC] Attempt to clean up sigsuspend et al

David Woodhouse dwmw2 at infradead.org
Sat Nov 12 11:48:46 EST 2005


On Sat, 2005-11-12 at 11:28 +1100, Paul Mackerras wrote:
> Ummm, I don't see where you save the non-volatile GPRs to the
> exception frame _before_ do_signal (called from within *_sigsuspend)
> copies them to the user stack...

Hm, yeah.

I suppose I could make a TIF_xxx flag make entry.S do that. It's not
massively pretty, but then it wasn't pretty beforehand either. At least
I'd have made the ppc32 and ppc64 code match, removed the assembly
wrappers for a bunch of syscalls, and shortened the syscall exit fast
path on ppc64. 

I'd probably still be removing more lines of code than I add, but I'm
not entirely convinced by the whole plan. What do you think?

Failing that, I'll just switch them both to do either what ppc32
currently does with sigreturn_exit() or what ppc64 does with returning
zero to take the ret_from_except path. Probably the former, since
pselect() and ppoll() will sometimes want to return zero without
invoking a signal handler.  And we can probably shorten the ppc64
syscall exit path anyway, either way. 

-- 
dwmw2





More information about the Linuxppc-dev mailing list