From 6f277965cb8ef3257f56d8b6d0f09d7d45fad47d Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 21 Jan 2022 15:08:31 -0500 Subject: [PATCH] s390/s390x: refer to rseq_cs pointer field Does not make any different on little endian architecture, but makes it clearer in case this code is ever ported to a big endian architecture. Signed-off-by: Mathieu Desnoyers Change-Id: I6aa9b0fa4eb7ed55556dbff889104970bcc29944 --- include/rseq/rseq-s390.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/include/rseq/rseq-s390.h b/include/rseq/rseq-s390.h index 67f54a9..0c1edb5 100644 --- a/include/rseq/rseq-s390.h +++ b/include/rseq/rseq-s390.h @@ -34,6 +34,8 @@ do { \ #ifdef __s390x__ +#define RSEQ_CS_PTR rseq_cs.ptr + #define LONG_L "lg" #define LONG_S "stg" #define LONG_LT_R "ltgr" @@ -69,6 +71,8 @@ do { \ #elif __s390__ +#define RSEQ_CS_PTR rseq_cs.ptr.ptr32 + #define __RSEQ_ASM_DEFINE_TABLE(label, version, flags, \ start_ip, post_commit_offset, abort_ip) \ ".pushsection __rseq_cs, \"aw\"\n\t" \ @@ -166,7 +170,7 @@ int rseq_cmpeqv_storev(intptr_t *v, intptr_t expect, intptr_t newv, int cpu) : /* gcc asm goto does not allow outputs */ : [cpu_id] "r" (cpu), [current_cpu_id] "m" (rseq_get_abi()->cpu_id), - [rseq_cs] "m" (rseq_get_abi()->rseq_cs), + [rseq_cs] "m" (rseq_get_abi()->RSEQ_CS_PTR), [v] "m" (*v), [expect] "r" (expect), [newv] "r" (newv) @@ -239,7 +243,7 @@ int rseq_cmpnev_storeoffp_load(intptr_t *v, intptr_t expectnot, : /* gcc asm goto does not allow outputs */ : [cpu_id] "r" (cpu), [current_cpu_id] "m" (rseq_get_abi()->cpu_id), - [rseq_cs] "m" (rseq_get_abi()->rseq_cs), + [rseq_cs] "m" (rseq_get_abi()->RSEQ_CS_PTR), /* final store input */ [v] "m" (*v), [expectnot] "r" (expectnot), @@ -299,7 +303,7 @@ int rseq_addv(intptr_t *v, intptr_t count, int cpu) : /* gcc asm goto does not allow outputs */ : [cpu_id] "r" (cpu), [current_cpu_id] "m" (rseq_get_abi()->cpu_id), - [rseq_cs] "m" (rseq_get_abi()->rseq_cs), + [rseq_cs] "m" (rseq_get_abi()->RSEQ_CS_PTR), /* final store input */ [v] "m" (*v), [count] "r" (count) @@ -361,7 +365,7 @@ int rseq_cmpeqv_trystorev_storev(intptr_t *v, intptr_t expect, : /* gcc asm goto does not allow outputs */ : [cpu_id] "r" (cpu), [current_cpu_id] "m" (rseq_get_abi()->cpu_id), - [rseq_cs] "m" (rseq_get_abi()->rseq_cs), + [rseq_cs] "m" (rseq_get_abi()->RSEQ_CS_PTR), /* try store input */ [v2] "m" (*v2), [newv2] "r" (newv2), @@ -445,7 +449,7 @@ int rseq_cmpeqv_cmpeqv_storev(intptr_t *v, intptr_t expect, : /* gcc asm goto does not allow outputs */ : [cpu_id] "r" (cpu), [current_cpu_id] "m" (rseq_get_abi()->cpu_id), - [rseq_cs] "m" (rseq_get_abi()->rseq_cs), + [rseq_cs] "m" (rseq_get_abi()->RSEQ_CS_PTR), /* cmp2 input */ [v2] "m" (*v2), [expect2] "r" (expect2), @@ -559,7 +563,7 @@ int rseq_cmpeqv_trymemcpy_storev(intptr_t *v, intptr_t expect, : /* gcc asm goto does not allow outputs */ : [cpu_id] "r" (cpu), [current_cpu_id] "m" (rseq_get_abi()->cpu_id), - [rseq_cs] "m" (rseq_get_abi()->rseq_cs), + [rseq_cs] "m" (rseq_get_abi()->RSEQ_CS_PTR), /* final store input */ [v] "m" (*v), [expect] "r" (expect), -- 2.34.1