diff options
Diffstat (limited to '0010-mozilla-s390-context.patch.patch')
-rw-r--r-- | 0010-mozilla-s390-context.patch.patch | 35 |
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) { |