281 |
|
#undef SIGSEGV_FAULT_ADDRESS |
282 |
|
#define SIGSEGV_FAULT_ADDRESS sip->si_ptr |
283 |
|
#endif |
284 |
+ |
#if (defined(arm) || defined(__arm__)) |
285 |
+ |
#include <asm/ucontext.h> /* use kernel structure, glibc may not be in sync */ |
286 |
+ |
#define SIGSEGV_CONTEXT_REGS (((struct ucontext *)scp)->uc_mcontext) |
287 |
+ |
#define SIGSEGV_FAULT_INSTRUCTION (SIGSEGV_CONTEXT_REGS.arm_pc) |
288 |
+ |
#endif |
289 |
|
#endif |
290 |
|
#endif |
291 |
|
|
325 |
|
#define SIGSEGV_FAULT_ADDRESS get_fault_address(scp) |
326 |
|
#define SIGSEGV_FAULT_INSTRUCTION scp->sc_pc |
327 |
|
#endif |
328 |
+ |
#if (defined(arm) || defined(__arm__)) |
329 |
+ |
#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, int r1, int r2, int r3, struct sigcontext sc |
330 |
+ |
#define SIGSEGV_FAULT_HANDLER_ARGLIST_1 struct sigcontext *scp |
331 |
+ |
#define SIGSEGV_FAULT_HANDLER_ARGS &sc |
332 |
+ |
#define SIGSEGV_FAULT_ADDRESS scp->fault_address |
333 |
+ |
#define SIGSEGV_FAULT_INSTRUCTION scp->arm_pc |
334 |
+ |
#endif |
335 |
|
#endif |
336 |
|
|
337 |
|
// Irix 5 or 6 on MIPS |