[PATCH 5/8] Enable fast tracepoint tests

Yao Qi qiyaoltc@gmail.com
Fri Sep 18 12:43:00 GMT 2015


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(-)

diff --git a/gdb/testsuite/gdb.trace/change-loc.h b/gdb/testsuite/gdb.trace/change-loc.h
index e8e2e86..8201455 100644
--- a/gdb/testsuite/gdb.trace/change-loc.h
+++ b/gdb/testsuite/gdb.trace/change-loc.h
@@ -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
        );
 
diff --git a/gdb/testsuite/gdb.trace/ftrace.c b/gdb/testsuite/gdb.trace/ftrace.c
index f522e6f..7373d66 100644
--- a/gdb/testsuite/gdb.trace/ftrace.c
+++ b/gdb/testsuite/gdb.trace/ftrace.c
@@ -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
        );
 
diff --git a/gdb/testsuite/gdb.trace/ftrace.exp b/gdb/testsuite/gdb.trace/ftrace.exp
index a8eb515..4c81578 100644
--- a/gdb/testsuite/gdb.trace/ftrace.exp
+++ b/gdb/testsuite/gdb.trace/ftrace.exp
@@ -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"
diff --git a/gdb/testsuite/gdb.trace/pendshr1.c b/gdb/testsuite/gdb.trace/pendshr1.c
index d3b5463..f08fb91 100644
--- a/gdb/testsuite/gdb.trace/pendshr1.c
+++ b/gdb/testsuite/gdb.trace/pendshr1.c
@@ -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
        );
 }
diff --git a/gdb/testsuite/gdb.trace/pendshr2.c b/gdb/testsuite/gdb.trace/pendshr2.c
index b8a51a5..f7ec733 100644
--- a/gdb/testsuite/gdb.trace/pendshr2.c
+++ b/gdb/testsuite/gdb.trace/pendshr2.c
@@ -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
        );
 }
diff --git a/gdb/testsuite/gdb.trace/range-stepping.c b/gdb/testsuite/gdb.trace/range-stepping.c
index 113f0e2..41cd745 100644
--- a/gdb/testsuite/gdb.trace/range-stepping.c
+++ b/gdb/testsuite/gdb.trace/range-stepping.c
@@ -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
diff --git a/gdb/testsuite/gdb.trace/trace-break.c b/gdb/testsuite/gdb.trace/trace-break.c
index f381ec6..66bbe53 100644
--- a/gdb/testsuite/gdb.trace/trace-break.c
+++ b/gdb/testsuite/gdb.trace/trace-break.c
@@ -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
        );
 }
diff --git a/gdb/testsuite/gdb.trace/trace-condition.c b/gdb/testsuite/gdb.trace/trace-condition.c
index 2e965c9..d988d76 100644
--- a/gdb/testsuite/gdb.trace/trace-condition.c
+++ b/gdb/testsuite/gdb.trace/trace-condition.c
@@ -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
        );
 }
diff --git a/gdb/testsuite/gdb.trace/trace-condition.exp b/gdb/testsuite/gdb.trace/trace-condition.exp
index d10fa9a..aec0401 100644
--- a/gdb/testsuite/gdb.trace/trace-condition.exp
+++ b/gdb/testsuite/gdb.trace/trace-condition.exp
@@ -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"
 }
diff --git a/gdb/testsuite/gdb.trace/trace-mt.c b/gdb/testsuite/gdb.trace/trace-mt.c
index 38aeff5..7ae0305 100644
--- a/gdb/testsuite/gdb.trace/trace-mt.c
+++ b/gdb/testsuite/gdb.trace/trace-mt.c
@@ -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
        );
 }
-- 
1.9.1



More information about the Gdb-patches mailing list