| /* | |
| * Copyright (C) 2006 Jeff Dike (jdike@addtoit.com) | |
| * Licensed under the GPL | |
| */ | |
| #include <signal.h> | |
| extern void (*handlers[])(int sig, struct sigcontext *sc); | |
| void hard_handler(int sig) | |
| { | |
| struct ucontext *uc; | |
| asm("movq %%rdx, %0" : "=r" (uc)); | |
| (*handlers[sig])(sig, (struct sigcontext *) &uc->uc_mcontext); | |
| } |