s390: Introduce RSEQ_ASM_U32
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 29 Feb 2024 14:44:55 +0000 (09:44 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 29 Feb 2024 14:44:55 +0000 (09:44 -0500)
This will allow moving __RSEQ_ASM_DEFINE_TABLE and
RSEQ_ASM_DEFINE_EXIT_POINT to a generic common header file.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I0af09a3fa3970efbe523db04154f1969241369a1

include/rseq/arch/s390.h

index ae80f7f9a446f348e517ef3b80292c980906f2f2..0b111165ca337c2e75f4ac40f62d87151c406920 100644 (file)
@@ -83,13 +83,16 @@ do {                                                                        \
 # define RSEQ_ASM_U64_PTR(x)           ".long 0x0, " x
 #endif
 
+#define RSEQ_ASM_U32(x)                        ".long " x
+
 /* Only used in RSEQ_ASM_DEFINE_TABLE. */
 #define __RSEQ_ASM_DEFINE_TABLE(label, version, flags,                         \
                        start_ip, post_commit_offset, abort_ip)                 \
                ".pushsection __rseq_cs, \"aw\"\n\t"                            \
                ".balign 32\n\t"                                                \
                __rseq_str(label) ":\n\t"                                       \
-               ".long " __rseq_str(version) ", " __rseq_str(flags) "\n\t"      \
+               RSEQ_ASM_U32(__rseq_str(version)) "\n\t"                \
+               RSEQ_ASM_U32(__rseq_str(flags)) "\n\t"                  \
                RSEQ_ASM_U64_PTR(__rseq_str(start_ip)) "\n\t"                   \
                RSEQ_ASM_U64_PTR(__rseq_str(post_commit_offset)) "\n\t"         \
                RSEQ_ASM_U64_PTR(__rseq_str(abort_ip)) "\n\t"                   \
@@ -153,7 +156,7 @@ do {                                                                        \
  */
 #define RSEQ_ASM_DEFINE_ABORT(label, teardown, abort_label)            \
                ".pushsection __rseq_failure, \"ax\"\n\t"               \
-               ".long " __rseq_str(RSEQ_SIG) "\n\t"                    \
+               RSEQ_ASM_U32(__rseq_str(RSEQ_SIG)) "\n\t"               \
                __rseq_str(label) ":\n\t"                               \
                teardown                                                \
                "jg %l[" __rseq_str(abort_label) "]\n\t"                \
This page took 0.026672 seconds and 4 git commands to generate.