Revision bc51c5c9 cpu-exec.c
b/cpu-exec.c | ||
---|---|---|
785 | 785 |
&uc->uc_sigmask, puc); |
786 | 786 |
} |
787 | 787 |
|
788 |
#elif defined(__x86_64__) |
|
789 |
|
|
790 |
int cpu_signal_handler(int host_signum, struct siginfo *info, |
|
791 |
void *puc) |
|
792 |
{ |
|
793 |
struct ucontext *uc = puc; |
|
794 |
unsigned long pc; |
|
795 |
|
|
796 |
pc = uc->uc_mcontext.gregs[REG_RIP]; |
|
797 |
return handle_cpu_signal(pc, (unsigned long)info->si_addr, |
|
798 |
uc->uc_mcontext.gregs[REG_TRAPNO] == 0xe ? |
|
799 |
(uc->uc_mcontext.gregs[REG_ERR] >> 1) & 1 : 0, |
|
800 |
&uc->uc_sigmask, puc); |
|
801 |
} |
|
802 |
|
|
788 | 803 |
#elif defined(__powerpc) |
789 | 804 |
|
790 | 805 |
int cpu_signal_handler(int host_signum, struct siginfo *info, |
Also available in: Unified diff