233 |
|
#define SIGSEGV_REGISTER_FILE (unsigned int *)SIGSEGV_CONTEXT_REGS |
234 |
|
#define SIGSEGV_SKIP_INSTRUCTION ix86_skip_instruction |
235 |
|
#endif |
236 |
+ |
#if (defined(x86_64) || defined(__x86_64__)) |
237 |
+ |
#include <sys/ucontext.h> |
238 |
+ |
#define SIGSEGV_CONTEXT_REGS (((ucontext_t *)scp)->uc_mcontext.gregs) |
239 |
+ |
#define SIGSEGV_FAULT_INSTRUCTION SIGSEGV_CONTEXT_REGS[16] /* should use REG_RIP instead */ |
240 |
+ |
#define SIGSEGV_REGISTER_FILE (unsigned long *)SIGSEGV_CONTEXT_REGS |
241 |
+ |
#endif |
242 |
|
#if (defined(ia64) || defined(__ia64__)) |
243 |
|
#define SIGSEGV_FAULT_INSTRUCTION (((struct sigcontext *)scp)->sc_ip & ~0x3ULL) /* slot number is in bits 0 and 1 */ |
244 |
|
#endif |