]> err.no Git - linux-2.6/commit
[PATCH] uml: Move signal handlers to arch code
authorJeff Dike <jdike@addtoit.com>
Tue, 26 Sep 2006 06:33:04 +0000 (23:33 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Sep 2006 15:49:07 +0000 (08:49 -0700)
commit4b84c69b5f6c08a540e3683f1360a6cdef2806c7
tree708f1e4cbc2771886aaeb8eadb3ae4d458bc8133
parent19bdf0409f25a85a45874a5a8da6f3e4edcf4a49
[PATCH] uml: Move signal handlers to arch code

Have most signals go through an arch-provided handler which recovers the
sigcontext and then calls a generic handler.  This replaces the
ARCH_GET_SIGCONTEXT macro, which was somewhat fragile.  On x86_64, recovering
%rdx (which holds the sigcontext pointer) must be the first thing that
happens.  sig_handler duly invokes that first, but there is no guarantee that
I can see that instructions won't be reordered such that %rdx is used before
that.  Having the arch provide the handler seems much more robust.

Some signals in some parts of UML require their own handlers - these places
don't call set_handler any more.  They call sigaction or signal themselves.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
12 files changed:
arch/um/include/sysdep-i386/signal.h [deleted file]
arch/um/include/sysdep-x86_64/signal.h [deleted file]
arch/um/os-Linux/irq.c
arch/um/os-Linux/main.c
arch/um/os-Linux/process.c
arch/um/os-Linux/signal.c
arch/um/os-Linux/skas/process.c
arch/um/os-Linux/sys-i386/Makefile
arch/um/os-Linux/sys-i386/signal.c [new file with mode: 0644]
arch/um/os-Linux/sys-x86_64/Makefile
arch/um/os-Linux/sys-x86_64/signal.c [new file with mode: 0644]
arch/um/os-Linux/time.c