|
1 # HG changeset patch |
|
2 # User msirringhaus@suse.de |
|
3 # Date 1558452408 -7200 |
|
4 # Tue May 21 17:26:48 2019 +0200 |
|
5 # Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4 |
|
6 # Parent a3cc550d25e3a04d906f516928cbcbe50efd585e |
|
7 [mq]: mozilla-s390-context.patch |
|
8 |
|
9 diff -r a3cc550d25e3 -r 602e92722e76 js/src/wasm/WasmSignalHandlers.cpp |
|
10 --- a/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:22:06 2019 +0200 |
|
11 +++ b/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:26:48 2019 +0200 |
|
12 @@ -154,6 +154,10 @@ |
|
13 # define R01_sig(p) ((p)->uc_mcontext.gp_regs[1]) |
|
14 # define R32_sig(p) ((p)->uc_mcontext.gp_regs[32]) |
|
15 # endif |
|
16 +# if defined(__linux__) && defined(__s390x__) |
|
17 +# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x]) |
|
18 +# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr) |
|
19 +# endif |
|
20 #elif defined(__NetBSD__) |
|
21 # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP]) |
|
22 # define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP]) |
|
23 @@ -385,8 +389,13 @@ |
|
24 # define PC_sig(p) R32_sig(p) |
|
25 # define SP_sig(p) R01_sig(p) |
|
26 # define FP_sig(p) R01_sig(p) |
|
27 +#elif defined(__s390x__) |
|
28 +# define PC_sig(p) PSWa_sig(p) |
|
29 +# define SP_sig(p) GR_sig(p, 15) |
|
30 +# define FP_sig(p) GR_sig(p, 11) |
|
31 #endif |
|
32 |
|
33 + |
|
34 static void SetContextPC(CONTEXT* context, uint8_t* pc) { |
|
35 #ifdef PC_sig |
|
36 *reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc; |