[5/8] Enable fast tracepoint tests
Commit Message
From: Pierre Langlois <pierre.langlois@arm.com>
gdb/testsuite/ChangeLog:
* gdb.trace/change-loc.h (func4) [__aarch64__]: Add a nop
instruction.
* gdb.trace/pendshr1.c (pendfunc): Likewise.
* gdb.trace/pendshr2.c (pendfunc2): Likewise.
* gdb.trace/range-stepping.c: Likewise.
* gdb.trace/trace-break.c: Likewise.
* gdb.trace/trace-mt.c (thread_function): Likewise.
* gdb.trace/ftrace.c (marker): Likewise.
* gdb.trace/trace-condition.c (marker): Likewise.
* gdb.trace/ftrace.exp: Enable ftrace test if is_aarch64_target.
* gdb.trace/trace-condition.exp: Set pcreg to "\$pc" if
is_aarch64_target.
---
gdb/testsuite/gdb.trace/change-loc.h | 2 ++
gdb/testsuite/gdb.trace/ftrace.c | 2 ++
gdb/testsuite/gdb.trace/ftrace.exp | 2 +-
gdb/testsuite/gdb.trace/pendshr1.c | 2 ++
gdb/testsuite/gdb.trace/pendshr2.c | 2 ++
gdb/testsuite/gdb.trace/range-stepping.c | 2 ++
gdb/testsuite/gdb.trace/trace-break.c | 4 ++++
gdb/testsuite/gdb.trace/trace-condition.c | 2 ++
gdb/testsuite/gdb.trace/trace-condition.exp | 2 ++
gdb/testsuite/gdb.trace/trace-mt.c | 2 ++
10 files changed, 21 insertions(+), 1 deletion(-)
@@ -36,6 +36,8 @@ func4 (void)
SYMBOL(set_tracepoint) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(func5) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
@@ -42,6 +42,8 @@ marker (int anarg)
SYMBOL(set_point) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(func) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
@@ -84,7 +84,7 @@ proc test_fast_tracepoints {} {
gdb_test "print gdb_agent_gdb_trampoline_buffer_error" ".*" ""
- if { [istarget "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"] } {
+ if { [istarget "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"] || [is_aarch64_target] } {
gdb_test "ftrace set_point" "Fast tracepoint .*" \
"fast tracepoint at a long insn"
@@ -38,6 +38,8 @@ pendfunc (int x)
SYMBOL(set_point1) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(pendfunc1) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
}
@@ -35,6 +35,8 @@ pendfunc2 (int x)
SYMBOL(set_point2) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(foo) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
}
@@ -26,6 +26,8 @@
tracepoint jump. */
#if (defined __x86_64__ || defined __i386__)
# define NOP " .byte 0xe9,0x00,0x00,0x00,0x00\n" /* jmp $+5 (5-byte nop) */
+#elif (defined __aarch64__)
+# define NOP " nop\n"
#else
# define NOP "" /* port me */
#endif
@@ -41,6 +41,8 @@ marker (void)
SYMBOL(set_point) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(func) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
@@ -48,6 +50,8 @@ marker (void)
SYMBOL(after_set_point) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(func) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
}
@@ -44,6 +44,8 @@ marker (int anarg)
SYMBOL (set_point) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL (func) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
}
@@ -25,6 +25,8 @@ if [is_amd64_regs_target] {
set pcreg "\$rip"
} elseif [is_x86_like_target] {
set pcreg "\$eip"
+} elseif [is_aarch64_target] {
+ set pcreg "\$pc"
} else {
set pcreg "\$pc"
}
@@ -37,6 +37,8 @@ thread_function(void *arg)
SYMBOL(set_point1) ":\n"
#if (defined __x86_64__ || defined __i386__)
" call " SYMBOL(func) "\n"
+#elif (defined __aarch64__)
+ " nop\n"
#endif
);
}