54 |
|
#if HAVE_SIGINFO_T |
55 |
|
// Generic extended signal handler |
56 |
|
#define SIGSEGV_ALL_SIGNALS FAULT_HANDLER(SIGSEGV) |
57 |
< |
#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, siginfo_t *sip, void * |
57 |
> |
#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, siginfo_t *sip, void *scp |
58 |
|
#define SIGSEGV_FAULT_ADDRESS sip->si_addr |
59 |
+ |
#if defined(__linux__) |
60 |
+ |
#if (defined(ia64) || defined(__ia64__)) |
61 |
+ |
#define SIGSEGV_FAULT_INSTRUCTION (((struct sigcontext *)scp)->sc_ip & ~0x3ULL) /* slot number is in bits 0 and 1 */ |
62 |
+ |
#endif |
63 |
+ |
#endif |
64 |
|
#endif |
65 |
|
|
66 |
|
#if HAVE_SIGCONTEXT_SUBTERFUGE |
75 |
|
#endif |
76 |
|
#if (defined(sparc) || defined(__sparc__)) |
77 |
|
#include <asm/sigcontext.h> |
78 |
< |
#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, int code, struct sigcontext *scp, char* addr |
78 |
> |
#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, int code, struct sigcontext *scp, char *addr |
79 |
|
#define SIGSEGV_FAULT_ADDRESS addr |
80 |
|
#endif |
81 |
|
#if (defined(powerpc) || defined(__powerpc__)) |