This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Clean up gdb.trace test results on targets not supporting this feature.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8bca297856b2e54ac093674554f6abd82e7ce6b0

commit 8bca297856b2e54ac093674554f6abd82e7ce6b0
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Fri Oct 12 17:56:13 2018 -0700

    Clean up gdb.trace test results on targets not supporting this feature.
    
    2018-10-12  Sandra Loosemore  <sandra@codesourcery.com>
    
    	gdb/testsuite/
    	* gdb.trace/actions-changed.exp: Check for arch support.
    	* gdb.trace/actions.exp: Likewise.
    	* gdb.trace/ax.exp: Likewise.
    	* gdb.trace/backtrace.exp: Likewise.
    	* gdb.trace/change-loc.exp: Likewise.
    	* gdb.trace/deltrace.exp: Likewise.
    	* gdb.trace/ftrace-lock.exp: Check for shlib and arch support.
    	* gdb.trace/ftrace.exp: Likewise.
    	* gdb.trace/infotrace.exp: Check for arch support.
    	* gdb.trace/mi-trace-frame-collected.exp: Likewise.
    	* gdb.trace/mi-tracepoint-changed.exp: Likewise.
    	* gdb.trace/mi-tsv-changed.exp: Likewise.
    	* gdb.trace/packetlen.exp: Likewise.
    	* gdb.trace/passc-dyn.exp: Likewise.
    	* gdb.trace/passcount.exp: Likewise.
    	* gdb.trace/pending.exp: Likewise.
    	* gdb.trace/range-stepping.exp: Check for shlib support.
    	* gdb.trace/report.exp: Check for arch support.
    	* gdb.trace/save-trace.exp: Likewise.
    	* gdb.trace/signal.exp: Check for signal support.
    	* gdb.trace/tfind.exp: Check for arch support.
    	* gdb.trace/trace-break.exp: Check for arch and shlib support.
    	* gdb.trace/trace-common.h: Add comment.
    	* gdb.trace/trace-condition.exp: Check for shlib and arch support.
    	* gdb.trace/trace-enable-disable.exp: Likewise.
    	* gdb.trace/trace-mt.exp: Likewise.  Remove redundant untested call.
    	* gdb.trace/tracecmd.exp: Check for arch support.
    	* gdb.trace/tspeed.exp: Check for shlib and target support.
    	* gdb.trace/tstatus.exp: Check for arch support.
    	* gdb.trace/tsv.exp: Likewise.
    	* gdb.trace/while-dyn.exp: Likewise.
    	* gdb.trace/while-stepping.exp: Likewise.
    	* lib/trace-support.exp (gdb_trace_common_supports_arch): New.

Diff:
---
 gdb/testsuite/ChangeLog                            | 36 ++++++++++++++++++++++
 gdb/testsuite/gdb.trace/actions-changed.exp        |  5 +++
 gdb/testsuite/gdb.trace/actions.exp                |  4 +++
 gdb/testsuite/gdb.trace/ax.exp                     |  6 ++++
 gdb/testsuite/gdb.trace/backtrace.exp              |  5 +++
 gdb/testsuite/gdb.trace/change-loc.exp             |  5 +++
 gdb/testsuite/gdb.trace/deltrace.exp               |  6 ++++
 gdb/testsuite/gdb.trace/ftrace-lock.exp            |  8 +++++
 gdb/testsuite/gdb.trace/ftrace.exp                 |  9 ++++++
 gdb/testsuite/gdb.trace/infotrace.exp              |  6 ++++
 .../gdb.trace/mi-trace-frame-collected.exp         |  5 +++
 gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp  |  4 +++
 gdb/testsuite/gdb.trace/mi-tsv-changed.exp         |  6 ++++
 gdb/testsuite/gdb.trace/packetlen.exp              |  4 +++
 gdb/testsuite/gdb.trace/passc-dyn.exp              |  4 +++
 gdb/testsuite/gdb.trace/passcount.exp              |  4 +++
 gdb/testsuite/gdb.trace/pending.exp                |  5 +++
 gdb/testsuite/gdb.trace/range-stepping.exp         |  4 +++
 gdb/testsuite/gdb.trace/report.exp                 |  4 +++
 gdb/testsuite/gdb.trace/save-trace.exp             |  4 +++
 gdb/testsuite/gdb.trace/signal.exp                 |  5 +++
 gdb/testsuite/gdb.trace/tfind.exp                  |  5 +++
 gdb/testsuite/gdb.trace/trace-break.exp            |  9 ++++++
 gdb/testsuite/gdb.trace/trace-common.h             |  3 ++
 gdb/testsuite/gdb.trace/trace-condition.exp        |  9 ++++++
 gdb/testsuite/gdb.trace/trace-enable-disable.exp   |  8 +++++
 gdb/testsuite/gdb.trace/trace-mt.exp               | 11 ++++++-
 gdb/testsuite/gdb.trace/tracecmd.exp               |  4 +++
 gdb/testsuite/gdb.trace/tspeed.exp                 | 23 ++++++++++++++
 gdb/testsuite/gdb.trace/tstatus.exp                |  5 +++
 gdb/testsuite/gdb.trace/tsv.exp                    |  4 +++
 gdb/testsuite/gdb.trace/while-dyn.exp              |  4 +++
 gdb/testsuite/gdb.trace/while-stepping.exp         |  4 +++
 gdb/testsuite/lib/trace-support.exp                | 19 ++++++++++++
 34 files changed, 246 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 465d606..fae9921 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,39 @@
+2018-10-12  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* gdb.trace/actions-changed.exp: Check for arch support.
+	* gdb.trace/actions.exp: Likewise.
+	* gdb.trace/ax.exp: Likewise.
+	* gdb.trace/backtrace.exp: Likewise.
+	* gdb.trace/change-loc.exp: Likewise.
+	* gdb.trace/deltrace.exp: Likewise.
+	* gdb.trace/ftrace-lock.exp: Check for shlib and arch support.
+	* gdb.trace/ftrace.exp: Likewise.
+	* gdb.trace/infotrace.exp: Check for arch support.
+	* gdb.trace/mi-trace-frame-collected.exp: Likewise.
+	* gdb.trace/mi-tracepoint-changed.exp: Likewise.
+	* gdb.trace/mi-tsv-changed.exp: Likewise.
+	* gdb.trace/packetlen.exp: Likewise.
+	* gdb.trace/passc-dyn.exp: Likewise.
+	* gdb.trace/passcount.exp: Likewise.
+	* gdb.trace/pending.exp: Likewise.
+	* gdb.trace/range-stepping.exp: Check for shlib support.
+	* gdb.trace/report.exp: Check for arch support.
+	* gdb.trace/save-trace.exp: Likewise.
+	* gdb.trace/signal.exp: Check for signal support.
+	* gdb.trace/tfind.exp: Check for arch support.
+	* gdb.trace/trace-break.exp: Check for arch and shlib support.
+	* gdb.trace/trace-common.h: Add comment.
+	* gdb.trace/trace-condition.exp: Check for shlib and arch support.
+	* gdb.trace/trace-enable-disable.exp: Likewise.
+	* gdb.trace/trace-mt.exp: Likewise.  Remove redundant untested call.
+	* gdb.trace/tracecmd.exp: Check for arch support.
+	* gdb.trace/tspeed.exp: Check for shlib and target support.
+	* gdb.trace/tstatus.exp: Check for arch support.
+	* gdb.trace/tsv.exp: Likewise.
+	* gdb.trace/while-dyn.exp: Likewise.
+	* gdb.trace/while-stepping.exp: Likewise.
+	* lib/trace-support.exp (gdb_trace_common_supports_arch): New.
+
 2018-10-12  Simon Marchi  <simon.marchi@ericsson.com>
 
 	* gdb.trace/tspeed.exp: Remove nowarnings.
diff --git a/gdb/testsuite/gdb.trace/actions-changed.exp b/gdb/testsuite/gdb.trace/actions-changed.exp
index 102f04f..34b0ce9 100644
--- a/gdb/testsuite/gdb.trace/actions-changed.exp
+++ b/gdb/testsuite/gdb.trace/actions-changed.exp
@@ -17,6 +17,11 @@ load_lib trace-support.exp
 
 standard_testfile
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
     return -1
 }
diff --git a/gdb/testsuite/gdb.trace/actions.exp b/gdb/testsuite/gdb.trace/actions.exp
index ea02031..4f4e254 100644
--- a/gdb/testsuite/gdb.trace/actions.exp
+++ b/gdb/testsuite/gdb.trace/actions.exp
@@ -22,6 +22,10 @@ gdb_exit
 gdb_start
 
 standard_testfile
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/ax.exp b/gdb/testsuite/gdb.trace/ax.exp
index 8156a0c..3d1a11a 100644
--- a/gdb/testsuite/gdb.trace/ax.exp
+++ b/gdb/testsuite/gdb.trace/ax.exp
@@ -24,6 +24,12 @@ load_lib "trace-support.exp"
 gdb_exit
 gdb_start
 standard_testfile actions.c
+
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/backtrace.exp b/gdb/testsuite/gdb.trace/backtrace.exp
index 6b41f89..de4c8fe 100644
--- a/gdb/testsuite/gdb.trace/backtrace.exp
+++ b/gdb/testsuite/gdb.trace/backtrace.exp
@@ -21,6 +21,11 @@ standard_testfile actions.c
 set executable $testfile
 set expfile $testfile.exp
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if [prepare_for_testing "failed to prepare" $executable $srcfile \
 	[list debug nowarnings]] {
     return -1
diff --git a/gdb/testsuite/gdb.trace/change-loc.exp b/gdb/testsuite/gdb.trace/change-loc.exp
index 052f421..603dd14 100644
--- a/gdb/testsuite/gdb.trace/change-loc.exp
+++ b/gdb/testsuite/gdb.trace/change-loc.exp
@@ -18,6 +18,11 @@ if {[skip_shlib_tests]} {
     return 0
 }
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 standard_testfile
 set libfile1 "change-loc-1"
 set libfile2 "change-loc-2"
diff --git a/gdb/testsuite/gdb.trace/deltrace.exp b/gdb/testsuite/gdb.trace/deltrace.exp
index f4ff474..c18df57 100644
--- a/gdb/testsuite/gdb.trace/deltrace.exp
+++ b/gdb/testsuite/gdb.trace/deltrace.exp
@@ -22,6 +22,12 @@ gdb_exit
 gdb_start
 
 standard_testfile actions.c
+
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/ftrace-lock.exp b/gdb/testsuite/gdb.trace/ftrace-lock.exp
index 3e5f0b8..619bd23 100644
--- a/gdb/testsuite/gdb.trace/ftrace-lock.exp
+++ b/gdb/testsuite/gdb.trace/ftrace-lock.exp
@@ -14,6 +14,10 @@
 
 load_lib "trace-support.exp"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 standard_testfile
 set executable $testfile
 set expfile $testfile.exp
@@ -29,6 +33,10 @@ set options [list debug [gdb_target_symbol_prefix_flags] \
 	     additional_flags=-DNUM_THREADS=$NUM_THREADS]
 
 # Check that the target supports trace.
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile executable $options] != "" } {
     untested "failed to compile"
     return -1
diff --git a/gdb/testsuite/gdb.trace/ftrace.exp b/gdb/testsuite/gdb.trace/ftrace.exp
index 5c494c6..959e2af 100644
--- a/gdb/testsuite/gdb.trace/ftrace.exp
+++ b/gdb/testsuite/gdb.trace/ftrace.exp
@@ -14,6 +14,10 @@
 
 load_lib "trace-support.exp"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 standard_testfile
 set executable $testfile
 set expfile $testfile.exp
@@ -21,6 +25,11 @@ set expfile $testfile.exp
 # Some targets have leading underscores on assembly symbols.
 set additional_flags [gdb_target_symbol_prefix_flags]
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if [prepare_for_testing "failed to prepare" $executable $srcfile \
 	[list debug $additional_flags]] {
     return -1
diff --git a/gdb/testsuite/gdb.trace/infotrace.exp b/gdb/testsuite/gdb.trace/infotrace.exp
index b013658..1e33db3 100644
--- a/gdb/testsuite/gdb.trace/infotrace.exp
+++ b/gdb/testsuite/gdb.trace/infotrace.exp
@@ -22,6 +22,12 @@ gdb_exit
 gdb_start
 
 standard_testfile actions.c
+
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp b/gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
index 09e9a47..56936cc 100644
--- a/gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
+++ b/gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp
@@ -17,6 +17,11 @@ load_lib trace-support.exp
 
 standard_testfile actions.c
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug}] } {
     return -1
 }
diff --git a/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp b/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
index de7ae40..9808b40 100644
--- a/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
+++ b/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
@@ -18,6 +18,10 @@ load_lib trace-support.exp
 if {[skip_shlib_tests]} {
     return 0
 }
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 
 standard_testfile pending.c
 set libfile1 "pendshr1"
diff --git a/gdb/testsuite/gdb.trace/mi-tsv-changed.exp b/gdb/testsuite/gdb.trace/mi-tsv-changed.exp
index 56dcd34..382a052 100644
--- a/gdb/testsuite/gdb.trace/mi-tsv-changed.exp
+++ b/gdb/testsuite/gdb.trace/mi-tsv-changed.exp
@@ -17,6 +17,12 @@ load_lib trace-support.exp
 load_lib mi-support.exp
 
 standard_testfile actions.c
+
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/packetlen.exp b/gdb/testsuite/gdb.trace/packetlen.exp
index ca54cfe..2322900 100644
--- a/gdb/testsuite/gdb.trace/packetlen.exp
+++ b/gdb/testsuite/gdb.trace/packetlen.exp
@@ -22,6 +22,10 @@ gdb_exit
 gdb_start
 
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/passc-dyn.exp b/gdb/testsuite/gdb.trace/passc-dyn.exp
index 1738b46..9457826 100644
--- a/gdb/testsuite/gdb.trace/passc-dyn.exp
+++ b/gdb/testsuite/gdb.trace/passc-dyn.exp
@@ -21,6 +21,10 @@ load_lib "trace-support.exp"
 gdb_exit
 gdb_start
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/passcount.exp b/gdb/testsuite/gdb.trace/passcount.exp
index 055020f..733c2de 100644
--- a/gdb/testsuite/gdb.trace/passcount.exp
+++ b/gdb/testsuite/gdb.trace/passcount.exp
@@ -21,6 +21,10 @@ load_lib "trace-support.exp"
 gdb_exit
 gdb_start
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/pending.exp b/gdb/testsuite/gdb.trace/pending.exp
index bb039df..fbb1c4d 100644
--- a/gdb/testsuite/gdb.trace/pending.exp
+++ b/gdb/testsuite/gdb.trace/pending.exp
@@ -18,6 +18,11 @@ if {[skip_shlib_tests]} {
     return 0
 }
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 standard_testfile
 set libfile1 "pendshr1"
 set libfile2 "pendshr2"
diff --git a/gdb/testsuite/gdb.trace/range-stepping.exp b/gdb/testsuite/gdb.trace/range-stepping.exp
index 0277032..1bc0cc7 100644
--- a/gdb/testsuite/gdb.trace/range-stepping.exp
+++ b/gdb/testsuite/gdb.trace/range-stepping.exp
@@ -66,6 +66,10 @@ proc range_stepping_with_tracepoint { type } {
 
 range_stepping_with_tracepoint "trace"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 set libipa [get_in_proc_agent]
 set remote_libipa [gdb_load_shlib $libipa]
 
diff --git a/gdb/testsuite/gdb.trace/report.exp b/gdb/testsuite/gdb.trace/report.exp
index 5155165..4b50e12 100644
--- a/gdb/testsuite/gdb.trace/report.exp
+++ b/gdb/testsuite/gdb.trace/report.exp
@@ -22,6 +22,10 @@ gdb_exit
 gdb_start
 
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/save-trace.exp b/gdb/testsuite/gdb.trace/save-trace.exp
index fe34d3f..3665778 100644
--- a/gdb/testsuite/gdb.trace/save-trace.exp
+++ b/gdb/testsuite/gdb.trace/save-trace.exp
@@ -22,6 +22,10 @@ gdb_exit
 gdb_start
 
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/signal.exp b/gdb/testsuite/gdb.trace/signal.exp
index b860b12..a01ca97 100644
--- a/gdb/testsuite/gdb.trace/signal.exp
+++ b/gdb/testsuite/gdb.trace/signal.exp
@@ -28,6 +28,11 @@
 
 load_lib "trace-support.exp"
 
+if [target_info exists gdb,nosignals] {
+    verbose "Skipping signal.exp because of nosignals."
+    return -1
+}
+
 standard_testfile
 
 if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
diff --git a/gdb/testsuite/gdb.trace/tfind.exp b/gdb/testsuite/gdb.trace/tfind.exp
index bbb7ec8..ec6a70c 100644
--- a/gdb/testsuite/gdb.trace/tfind.exp
+++ b/gdb/testsuite/gdb.trace/tfind.exp
@@ -23,6 +23,11 @@ gdb_start
 
 standard_testfile actions.c
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [gdb_compile "$srcdir/$subdir/$srcfile" "$binfile" \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/trace-break.exp b/gdb/testsuite/gdb.trace/trace-break.exp
index 84c4780..c4895f9 100644
--- a/gdb/testsuite/gdb.trace/trace-break.exp
+++ b/gdb/testsuite/gdb.trace/trace-break.exp
@@ -21,6 +21,11 @@ set expfile $testfile.exp
 # Some targets have leading underscores on assembly symbols.
 set additional_flags [gdb_target_symbol_prefix_flags]
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if [prepare_for_testing "failed to prepare" $executable $srcfile \
 	[list debug $additional_flags]] {
     return -1
@@ -347,6 +352,10 @@ foreach at_first_loc { "1" "0" } {
 break_trace_same_addr_6 "trace" "enable" "trace" "disable"
 break_trace_same_addr_6 "trace" "disable" "trace" "enable"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 set libipa [get_in_proc_agent]
 set remote_libipa [gdb_load_shlib $libipa]
 
diff --git a/gdb/testsuite/gdb.trace/trace-common.h b/gdb/testsuite/gdb.trace/trace-common.h
index 9f60d7f..eb34b5c 100644
--- a/gdb/testsuite/gdb.trace/trace-common.h
+++ b/gdb/testsuite/gdb.trace/trace-common.h
@@ -25,6 +25,9 @@
    a fast tracepoint jump.  The parameter is the label where we'll set
    tracepoints and breakpoints.  */
 
+/* Please keep gdb_trace_common_supports_arch in lib/trace-support.exp
+   in sync when adding new targets to this file.  */
+
 #if (defined __x86_64__ || defined __i386__)
 
 static void
diff --git a/gdb/testsuite/gdb.trace/trace-condition.exp b/gdb/testsuite/gdb.trace/trace-condition.exp
index d23e6a3..c7fafd7 100644
--- a/gdb/testsuite/gdb.trace/trace-condition.exp
+++ b/gdb/testsuite/gdb.trace/trace-condition.exp
@@ -14,6 +14,10 @@
 
 load_lib "trace-support.exp"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 standard_testfile
 set executable $testfile
 set expfile $testfile.exp
@@ -21,6 +25,11 @@ set expfile $testfile.exp
 # Some targets have leading underscores on assembly symbols.
 set additional_flags [gdb_target_symbol_prefix_flags]
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if [prepare_for_testing "failed to prepare" $executable $srcfile \
 	[list debug $additional_flags]] {
     return -1
diff --git a/gdb/testsuite/gdb.trace/trace-enable-disable.exp b/gdb/testsuite/gdb.trace/trace-enable-disable.exp
index 1b3ba0b..01147cc 100644
--- a/gdb/testsuite/gdb.trace/trace-enable-disable.exp
+++ b/gdb/testsuite/gdb.trace/trace-enable-disable.exp
@@ -14,6 +14,10 @@
 
 load_lib "trace-support.exp"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 standard_testfile
 set executable $testfile
 set expfile $testfile.exp
@@ -22,6 +26,10 @@ set expfile $testfile.exp
 set options [list debug [gdb_target_symbol_prefix_flags]]
 
 # Check that the target supports trace.
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable $options] != "" } {
     untested "failed to compile"
     return -1
diff --git a/gdb/testsuite/gdb.trace/trace-mt.exp b/gdb/testsuite/gdb.trace/trace-mt.exp
index 6e18666..dae85a9 100644
--- a/gdb/testsuite/gdb.trace/trace-mt.exp
+++ b/gdb/testsuite/gdb.trace/trace-mt.exp
@@ -21,9 +21,14 @@ set expfile $testfile.exp
 # Some targets have leading underscores on assembly symbols.
 set additional_flags [gdb_target_symbol_prefix_flags]
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if { [gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile \
 	  executable [list debug $additional_flags] ] != "" } {
-    untested "failed to compile"
+    # gdb_compile_pthreads provides an appropriate unsupported message.
     return -1
 }
 
@@ -106,6 +111,10 @@ foreach break_always_inserted { "on" "off" } {
 
 step_over_tracepoint "trace"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 set libipa [get_in_proc_agent]
 set remote_libipa [gdb_load_shlib $libipa]
 
diff --git a/gdb/testsuite/gdb.trace/tracecmd.exp b/gdb/testsuite/gdb.trace/tracecmd.exp
index 6a5d664..de3de8a 100644
--- a/gdb/testsuite/gdb.trace/tracecmd.exp
+++ b/gdb/testsuite/gdb.trace/tracecmd.exp
@@ -21,6 +21,10 @@ load_lib "trace-support.exp"
 gdb_exit
 gdb_start
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/tspeed.exp b/gdb/testsuite/gdb.trace/tspeed.exp
index bc12afd..b77f412 100644
--- a/gdb/testsuite/gdb.trace/tspeed.exp
+++ b/gdb/testsuite/gdb.trace/tspeed.exp
@@ -15,9 +15,32 @@
 
 load_lib "trace-support.exp"
 
+if {[skip_shlib_tests]} {
+    return 0
+}
+
 standard_testfile
 set executable $testfile
 
+# Check that the target supports trace.
+if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable $options] != "" } {
+    untested "failed to compile"
+    return -1
+}
+
+clean_restart ${testfile}
+
+if ![runto_main] {
+    fail "can't run to main to check for trace support"
+    return -1
+}
+
+if ![gdb_target_supports_trace] {
+    unsupported "target does not support trace"
+    return -1
+}
+
+# Compile the test case with the in-process agent library.
 set ipalib [get_in_proc_agent]
 
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
diff --git a/gdb/testsuite/gdb.trace/tstatus.exp b/gdb/testsuite/gdb.trace/tstatus.exp
index 3498b1c..44e599c 100644
--- a/gdb/testsuite/gdb.trace/tstatus.exp
+++ b/gdb/testsuite/gdb.trace/tstatus.exp
@@ -18,6 +18,11 @@ standard_testfile actions.c
 set executable $testfile
 set expfile tstatus.exp
 
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
+
 if [prepare_for_testing "failed to prepare" $executable $srcfile \
 	[list debug]] {
     return -1
diff --git a/gdb/testsuite/gdb.trace/tsv.exp b/gdb/testsuite/gdb.trace/tsv.exp
index a86919a..a8ec8d4 100644
--- a/gdb/testsuite/gdb.trace/tsv.exp
+++ b/gdb/testsuite/gdb.trace/tsv.exp
@@ -19,6 +19,10 @@ load_lib "trace-support.exp"
 gdb_exit
 gdb_start
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/while-dyn.exp b/gdb/testsuite/gdb.trace/while-dyn.exp
index 0fb6b47..9571879 100644
--- a/gdb/testsuite/gdb.trace/while-dyn.exp
+++ b/gdb/testsuite/gdb.trace/while-dyn.exp
@@ -23,6 +23,10 @@ gdb_start
 
 standard_testfile actions.c
 set executable $testfile
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/gdb.trace/while-stepping.exp b/gdb/testsuite/gdb.trace/while-stepping.exp
index 29bdf2d..45d1620 100644
--- a/gdb/testsuite/gdb.trace/while-stepping.exp
+++ b/gdb/testsuite/gdb.trace/while-stepping.exp
@@ -22,6 +22,10 @@ gdb_exit
 gdb_start
 
 standard_testfile actions.c
+if ![gdb_trace_common_supports_arch] {
+    unsupported "no trace-common.h support for arch"
+    return -1
+}
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" $binfile \
 	  executable {debug nowarnings}] != "" } {
     untested "failed to compile"
diff --git a/gdb/testsuite/lib/trace-support.exp b/gdb/testsuite/lib/trace-support.exp
index 547da37..e5603d4 100644
--- a/gdb/testsuite/lib/trace-support.exp
+++ b/gdb/testsuite/lib/trace-support.exp
@@ -51,6 +51,25 @@ if [is_amd64_regs_target] {
 }
 
 #
+# Procedure: gdb_trace_common_supports_arch
+# Returns true if gdb.trace/trace-common.h knows about this target.
+# Allows skipping tests that depend on being able to include this file.
+# Please keep this in sync with the supported targets in the header.
+#
+
+proc gdb_trace_common_supports_arch { } {
+  if { [istarget "x86_64*-*-*"]
+	|| [istarget "i386*-*-*"]
+	|| [istarget "aarch64*-*-*"]
+	|| [istarget "powerpc*-*-*"]
+	|| [istarget "s390*-*-*"] } {
+	return 1
+    } else {
+	return 0
+    }
+}
+
+#
 # Procedure: gdb_target_supports_trace
 # Returns true if GDB is connected to a target that supports tracing.
 # Allows tests to abort early if not running on a trace-aware target.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]