summarylogtreecommitdiffstats
path: root/0010-mozilla-s390-context.patch.patch
diff options
context:
space:
mode:
Diffstat (limited to '0010-mozilla-s390-context.patch.patch')
-rw-r--r--0010-mozilla-s390-context.patch.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/0010-mozilla-s390-context.patch.patch b/0010-mozilla-s390-context.patch.patch
new file mode 100644
index 000000000000..bf4c7d9562bd
--- /dev/null
+++ b/0010-mozilla-s390-context.patch.patch
@@ -0,0 +1,35 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Martin Sirringhaus <msirringhaus@suse.de>
+Date: Tue, 21 May 2019 18:26:48 +0300
+Subject: [PATCH] mozilla-s390-context.patch
+
+---
+ js/src/wasm/WasmSignalHandlers.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
+index 33e6c32b061bf7bcfcb25f4297afbe2a53c45566..3ff07c5868c607fc48e822dfac6823bcaf9d058c 100644
+--- a/js/src/wasm/WasmSignalHandlers.cpp
++++ b/js/src/wasm/WasmSignalHandlers.cpp
+@@ -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
+ # elif defined(__NetBSD__)
+ # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
+ # define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
+@@ -421,6 +425,10 @@ struct macos_aarch64_context {
+ # define FP_sig(p) RFP_sig(p)
+ # define SP_sig(p) R02_sig(p)
+ # define LR_sig(p) RRA_sig(p)
++# elif defined(__s390x__)
++# 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) {