--- a/mozilla-s390-context.patch Mon Jun 05 21:17:55 2023 +0200
+++ b/mozilla-s390-context.patch Sat Jul 29 14:34:45 2023 +0200
@@ -3,39 +3,24 @@
# Date 1558452408 -7200
# Tue May 21 17:26:48 2019 +0200
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
-# Parent 6d6ebdace8a9877fe17c1bd14b80307c258c864f
+# Parent 783ceb006fcdabe5ad23bd561362e721c7ed5f8c
[mq]: mozilla-s390-context.patch
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
-@@ -163,16 +163,20 @@ using mozilla::DebugOnly;
- # define R03_sig(p) ((p)->uc_mcontext.__gregs[3])
- # define RFP_sig(p) ((p)->uc_mcontext.__gregs[22])
- # endif
- # if defined(__sun__) && defined(__sparc__)
- # define PC_sig(p) ((p)->uc_mcontext.gregs[REG_PC])
+@@ -174,6 +174,10 @@ using mozilla::DebugOnly;
# define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
# define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
# endif
-+# if defined(__linux__) && defined(__s390x__)
-+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
-+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
-+# endif
++# if defined(__linux__) && defined(__s390x__)
++# define GR_sig(p, x) ((p)->uc_mcontext.gregs[x])
++# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
++# endif
# elif defined(__NetBSD__)
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
- # define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
- # define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
- # define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
- # define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
- # define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
-@@ -405,16 +409,20 @@ struct macos_aarch64_context {
- # define PC_sig(p) R32_sig(p)
- # define SP_sig(p) R01_sig(p)
- # define FP_sig(p) R01_sig(p)
- # elif defined(__loongarch__)
- # define PC_sig(p) EPC_sig(p)
+@@ -416,6 +420,10 @@ struct macos_aarch64_context {
# define FP_sig(p) RFP_sig(p)
# define SP_sig(p) R03_sig(p)
# define LR_sig(p) RRA_sig(p)
@@ -43,11 +28,6 @@
+# define PC_sig(p) PSWa_sig(p)
+# define SP_sig(p) GR_sig(p, 15)
+# define FP_sig(p) GR_sig(p, 11)
- # endif
-
- static void SetContextPC(CONTEXT* context, uint8_t* pc) {
- # ifdef PC_sig
- *reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
- # else
- MOZ_CRASH();
- # endif
+ # elif defined(__riscv)
+ # define PC_sig(p) RPC_sig(p)
+ # define FP_sig(p) RFP_sig(p)