This is the mail archive of the gdb-patches@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]

[patch] Skip kill-after-signal.exp if hw single-step is not supported


This test `gdb_test "stepi" "\r\nhandler .*"' in kill-after-signal.exp
performs a single-step, and deliver a signal (SIGUSR1) to inferior.
Software single step can not do that, because the next instruction
(start of handler) is unable to be determined.

This patch is to allow running this case only on x86 and x86_64, on
which hardware single step is supported.

OK?

-- 
Yao (éå)
2011-07-19  Yao Qi  <yao@codesourcery.com>

	gdb/testsuite/
	* gdb.base/kill-after-signal.exp: Skip if target doesn't support hardware
	single step.

diff --git a/gdb/testsuite/gdb.base/kill-after-signal.exp b/gdb/testsuite/gdb.base/kill-after-signal.exp
index eecad2e..df0afe7 100644
--- a/gdb/testsuite/gdb.base/kill-after-signal.exp
+++ b/gdb/testsuite/gdb.base/kill-after-signal.exp
@@ -14,6 +14,17 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 set testfile "kill-after-signal"
+
+if { ! [istarget "i?86-*-linux*"]
+     && ! [istarget "x86_64-*-linux*"] } {
+    # skip it if target doesn't support hardware single-step.  In following tests,
+    # in "stepi", a signal is delivered along with single-step.  In software single
+    # step, gdb is unable to determine the next instruction addresses, because start
+    # of signal handler is one of them.
+    untested ${testfile}.exp
+    return
+}
+
 if [prepare_for_testing ${testfile}.exp ${testfile}] {
     return -1
 }

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