"ldr %[dst], %[rseq_scratch1]\n\t"
"ldr %[src], %[rseq_scratch0]\n\t",
abort, 1b, 2b, 4f)
- RSEQ_ASM_DEFINE_CMPFAIL(5,
+ RSEQ_ASM_DEFINE_TEARDOWN(5,
/* teardown */
"ldr %[len], %[rseq_scratch2]\n\t"
"ldr %[dst], %[rseq_scratch1]\n\t"
"ldr %[src], %[rseq_scratch0]\n\t",
ne)
#ifdef RSEQ_COMPARE_TWICE
- RSEQ_ASM_DEFINE_CMPFAIL(6,
+ RSEQ_ASM_DEFINE_TEARDOWN(6,
/* teardown */
"ldr %[len], %[rseq_scratch2]\n\t"
"ldr %[dst], %[rseq_scratch1]\n\t"
"ldr %[src], %[rseq_scratch0]\n\t",
error1)
- RSEQ_ASM_DEFINE_CMPFAIL(7,
+ RSEQ_ASM_DEFINE_TEARDOWN(7,
/* teardown */
"ldr %[len], %[rseq_scratch2]\n\t"
"ldr %[dst], %[rseq_scratch1]\n\t"
abort_label, 0x0, 0x0, start_ip, \
(post_commit_ip - start_ip), abort_ip)
-#define RSEQ_ASM_DEFINE_CMPFAIL(label, teardown, cmpfail_label) \
+#define RSEQ_ASM_DEFINE_TEARDOWN(label, teardown, target_label) \
__rseq_str(label) ":\n\t" \
teardown \
- "b %l[" __rseq_str(cmpfail_label) "]\n\t"
+ "b %l[" __rseq_str(target_label) "]\n\t"
/* Per-cpu-id indexing. */
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
abort, 1b, 2b, 4f)
- RSEQ_ASM_DEFINE_CMPFAIL(5,
+ RSEQ_ASM_DEFINE_TEARDOWN(5,
/* teardown */
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
ne)
#ifdef RSEQ_COMPARE_TWICE
- RSEQ_ASM_DEFINE_CMPFAIL(6,
+ RSEQ_ASM_DEFINE_TEARDOWN(6,
/* teardown */
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
error1)
- RSEQ_ASM_DEFINE_CMPFAIL(7,
+ RSEQ_ASM_DEFINE_TEARDOWN(7,
/* teardown */
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
abort_label, 0x0, 0x0, start_ip, \
(post_commit_ip - start_ip), abort_ip)
-#define RSEQ_ASM_DEFINE_CMPFAIL(label, teardown, cmpfail_label) \
+#define RSEQ_ASM_DEFINE_TEARDOWN(label, teardown, target_label) \
__rseq_str(label) ":\n\t" \
teardown \
- "b %l[" __rseq_str(cmpfail_label) "]\n\t"
+ "b %l[" __rseq_str(target_label) "]\n\t"
/* Per-cpu-id indexing. */
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
abort)
- RSEQ_ASM_DEFINE_CMPFAIL(5,
+ RSEQ_ASM_DEFINE_TEARDOWN(5,
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
ne)
#ifdef RSEQ_COMPARE_TWICE
- RSEQ_ASM_DEFINE_CMPFAIL(6,
+ RSEQ_ASM_DEFINE_TEARDOWN(6,
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
error1)
- RSEQ_ASM_DEFINE_CMPFAIL(7,
+ RSEQ_ASM_DEFINE_TEARDOWN(7,
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
"jg %l[" __rseq_str(abort_label) "]\n\t" \
".popsection\n\t"
-#define RSEQ_ASM_DEFINE_CMPFAIL(label, teardown, cmpfail_label) \
+#define RSEQ_ASM_DEFINE_TEARDOWN(label, teardown, target_label) \
".pushsection __rseq_failure, \"ax\"\n\t" \
__rseq_str(label) ":\n\t" \
teardown \
- "jg %l[" __rseq_str(cmpfail_label) "]\n\t" \
+ "jg %l[" __rseq_str(target_label) "]\n\t" \
".popsection\n\t"
/* Per-cpu-id indexing. */
"movq %[rseq_scratch1], %[dst]\n\t"
"movq %[rseq_scratch0], %[src]\n\t",
abort)
- RSEQ_ASM_DEFINE_CMPFAIL(5,
+ RSEQ_ASM_DEFINE_TEARDOWN(5,
"movq %[rseq_scratch2], %[len]\n\t"
"movq %[rseq_scratch1], %[dst]\n\t"
"movq %[rseq_scratch0], %[src]\n\t",
ne)
#ifdef RSEQ_COMPARE_TWICE
- RSEQ_ASM_DEFINE_CMPFAIL(6,
+ RSEQ_ASM_DEFINE_TEARDOWN(6,
"movq %[rseq_scratch2], %[len]\n\t"
"movq %[rseq_scratch1], %[dst]\n\t"
"movq %[rseq_scratch0], %[src]\n\t",
error1)
- RSEQ_ASM_DEFINE_CMPFAIL(7,
+ RSEQ_ASM_DEFINE_TEARDOWN(7,
"movq %[rseq_scratch2], %[len]\n\t"
"movq %[rseq_scratch1], %[dst]\n\t"
"movq %[rseq_scratch0], %[src]\n\t",
"movl %[rseq_scratch1], %[dst]\n\t"
"movl %[rseq_scratch0], %[src]\n\t",
abort)
- RSEQ_ASM_DEFINE_CMPFAIL(5,
+ RSEQ_ASM_DEFINE_TEARDOWN(5,
"movl %[rseq_scratch2], %[len]\n\t"
"movl %[rseq_scratch1], %[dst]\n\t"
"movl %[rseq_scratch0], %[src]\n\t",
ne)
#ifdef RSEQ_COMPARE_TWICE
- RSEQ_ASM_DEFINE_CMPFAIL(6,
+ RSEQ_ASM_DEFINE_TEARDOWN(6,
"movl %[rseq_scratch2], %[len]\n\t"
"movl %[rseq_scratch1], %[dst]\n\t"
"movl %[rseq_scratch0], %[src]\n\t",
error1)
- RSEQ_ASM_DEFINE_CMPFAIL(7,
+ RSEQ_ASM_DEFINE_TEARDOWN(7,
"movl %[rseq_scratch2], %[len]\n\t"
"movl %[rseq_scratch1], %[dst]\n\t"
"movl %[rseq_scratch0], %[src]\n\t",
"jmp %l[" __rseq_str(abort_label) "]\n\t" \
".popsection\n\t"
-#define RSEQ_ASM_DEFINE_CMPFAIL(label, teardown, cmpfail_label) \
+#define RSEQ_ASM_DEFINE_TEARDOWN(label, teardown, target_label) \
".pushsection __rseq_failure, \"ax\"\n\t" \
__rseq_str(label) ":\n\t" \
teardown \
- "jmp %l[" __rseq_str(cmpfail_label) "]\n\t" \
+ "jmp %l[" __rseq_str(target_label) "]\n\t" \
".popsection\n\t"
#elif defined(__i386__)
"jmp %l[" __rseq_str(abort_label) "]\n\t" \
".popsection\n\t"
-#define RSEQ_ASM_DEFINE_CMPFAIL(label, teardown, cmpfail_label) \
+#define RSEQ_ASM_DEFINE_TEARDOWN(label, teardown, target_label) \
".pushsection __rseq_failure, \"ax\"\n\t" \
__rseq_str(label) ":\n\t" \
teardown \
- "jmp %l[" __rseq_str(cmpfail_label) "]\n\t" \
+ "jmp %l[" __rseq_str(target_label) "]\n\t" \
".popsection\n\t"
#endif