Line 0
Link Here
|
|
|
1 |
--- jit/AsmJSSignalHandlers.cpp.orig 2013-10-29 20:40:19 UTC |
2 |
+++ jit/AsmJSSignalHandlers.cpp |
3 |
@@ -109,6 +109,7 @@ using namespace mozilla; |
4 |
# endif |
5 |
# define EIP_sig(p) ((p)->uc_mcontext.mc_eip) |
6 |
# define RIP_sig(p) ((p)->uc_mcontext.mc_rip) |
7 |
+# define PC_sig(p) ((p)->uc_mcontext.arm_pc) |
8 |
# define RAX_sig(p) ((p)->uc_mcontext.mc_rax) |
9 |
# define RCX_sig(p) ((p)->uc_mcontext.mc_rcx) |
10 |
# define RDX_sig(p) ((p)->uc_mcontext.mc_rdx) |
11 |
@@ -124,7 +125,11 @@ using namespace mozilla; |
12 |
# define R12_sig(p) ((p)->uc_mcontext.mc_r12) |
13 |
# define R13_sig(p) ((p)->uc_mcontext.mc_r13) |
14 |
# define R14_sig(p) ((p)->uc_mcontext.mc_r14) |
15 |
+#if defined(__FreeBSD__) && defined(__arm__) |
16 |
+# define R15_sig(p) ((p)->uc_mcontext.__gregs[_REG_R15]) |
17 |
+#else |
18 |
# define R15_sig(p) ((p)->uc_mcontext.mc_r15) |
19 |
+#endif |
20 |
#elif defined(XP_MACOSX) |
21 |
// Mach requires special treatment. |
22 |
#else |
23 |
@@ -336,8 +341,8 @@ ContextToPC(CONTEXT *context) |
24 |
JS_STATIC_ASSERT(sizeof(EIP_sig(context)) == sizeof(void*)); |
25 |
return reinterpret_cast<uint8_t**>(&EIP_sig(context)); |
26 |
# elif defined(JS_CPU_ARM) |
27 |
- JS_STATIC_ASSERT(sizeof(PC_sig(context)) == sizeof(void*)); |
28 |
- return reinterpret_cast<uint8_t**>(&PC_sig(context)); |
29 |
+ JS_STATIC_ASSERT(sizeof(R15_sig(context)) == sizeof(void*)); |
30 |
+ return reinterpret_cast<uint8_t**>(&R15_sig(context)); |
31 |
# endif |
32 |
} |
33 |
|