28 lines
1.3 KiB
Diff
28 lines
1.3 KiB
Diff
|
diff -up firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp.rhbz-1498561 firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp
|
||
|
--- firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp.rhbz-1498561 2018-05-16 13:45:46.014042224 +0200
|
||
|
+++ firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp 2018-05-16 13:50:48.834887034 +0200
|
||
|
@@ -181,6 +181,12 @@ struct AutoSignalHandler
|
||
|
# define FP_sig(p) ((p)->uc_mcontext.mc_fp)
|
||
|
# define SP_sig(p) ((p)->uc_mcontext.mc_i7)
|
||
|
# endif
|
||
|
+# if defined(__linux__) && (defined(__ppc64__) || defined (__PPC64__) || defined(__ppc64le__) || defined (__PPC64LE__))
|
||
|
+// powerpc stack frame pointer (SFP or SP or FP)
|
||
|
+# define R01_sig(p) ((p)->uc_mcontext.gp_regs[01])
|
||
|
+// powerpc next instruction pointer (NIP or PC)
|
||
|
+# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
|
||
|
+# endif
|
||
|
#elif defined(__NetBSD__)
|
||
|
# define XMM_sig(p,i) (((struct fxsave64*)(p)->uc_mcontext.__fpregs)->fx_xmm[i])
|
||
|
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
|
||
|
@@ -426,6 +432,10 @@ struct macos_arm_context {
|
||
|
# define FP_sig(p) RFP_sig(p)
|
||
|
# define SP_sig(p) RSP_sig(p)
|
||
|
# define LR_sig(p) R31_sig(p)
|
||
|
+#elif defined(__ppc64__) || defined (__PPC64__) || defined(__ppc64le__) || defined (__PPC64LE__)
|
||
|
+# define PC_sig(p) R32_sig(p)
|
||
|
+# define SP_sig(p) R01_sig(p)
|
||
|
+# define FP_sig(p) R01_sig(p)
|
||
|
#endif
|
||
|
|
||
|
#if defined(PC_sig) && defined(FP_sig) && defined(SP_sig)
|