* [patch] Run tests in gdb.reverse
@ 2011-11-06 17:36 Yao Qi
2011-11-07 14:39 ` Joel Brobecker
2011-11-07 14:55 ` Tom Tromey
0 siblings, 2 replies; 5+ messages in thread
From: Yao Qi @ 2011-11-06 17:36 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 2129 bytes --]
During reviewing "arm reverse debugging" patch, we realize that tests in
gdb.reverse are not run in common regression test unless we set some
variables in board file.
This patch is to convert variable checking in each reverse test case to
a proc return value checking, so that gdb.reverse tests will be run on
targets that support reverse debugging.
Run gdb.reverse on x86-linux, and get follow result,
FAIL: gdb.reverse/solib-precsave.exp: reverse-step third sleep
FAIL: gdb.reverse/solib-precsave.exp: reverse-step second sleep
FAIL: gdb.reverse/solib-precsave.exp: reverse-step first sleep, dynsym
resolve
FAIL: gdb.reverse/solib-precsave.exp: reverse-step third printf
FAIL: gdb.reverse/solib-precsave.exp: reverse-step second printf
FAIL: gdb.reverse/solib-precsave.exp: reverse-step first printf, dynsym
resolve
FAIL: gdb.reverse/solib-precsave.exp: reverse-step generic
FAIL: gdb.reverse/solib-precsave.exp: reverse-next third sleep
FAIL: gdb.reverse/solib-precsave.exp: reverse-next second sleep
FAIL: gdb.reverse/solib-precsave.exp: reverse-next first sleep, dynsym
resolve
FAIL: gdb.reverse/solib-precsave.exp: reverse-next third printf
FAIL: gdb.reverse/solib-precsave.exp: reverse-next second printf
FAIL: gdb.reverse/solib-precsave.exp: reverse-next first printf, dynsym
resolve
FAIL: gdb.reverse/solib-precsave.exp: reverse-next generic
FAIL: gdb.reverse/solib-precsave.exp: reverse-step into solib function one
FAIL: gdb.reverse/solib-precsave.exp: reverse-step within solib function one
FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main one
FAIL: gdb.reverse/solib-precsave.exp: reverse-step into solib function two
FAIL: gdb.reverse/solib-precsave.exp: reverse-step within solib function two
FAIL: gdb.reverse/solib-precsave.exp: reverse-step back to main two
FAIL: gdb.reverse/solib-precsave.exp: reverse-next over solib function one
FAIL: gdb.reverse/solib-precsave.exp: reverse-next over solib function two
=== gdb Summary ===
# of expected passes 2774
# of unexpected failures 22
I didn't KFAIL them, because the reason of fails are unknown to me. OK
to apply?
--
Yao (é½å°§)
[-- Attachment #2: reverse.patch --]
[-- Type: text/x-patch, Size: 17810 bytes --]
gdb/testsuite/
* gdb.exp (support_process_record): New.
(support_reverse): New.
* gdb.reverse/break-precsave.exp: Call support_process_record
to run test conditionally.
* gdb.reverse/consecutive-precsave.exp: Likewise.
* gdb.reverse/i386-precsave.exp: Likewise.
* gdb.reverse/machinestate-precsave.exp: Likewise.
* gdb.reverse/solib-precsave.exp: Likewise.
* gdb.reverse/step-precsave.exp: Likewise.
* gdb.reverse/until-precsave.exp: Likewise.
* gdb.reverse/watch-precsave.exp: Likewise.
* gdb.reverse/break-reverse.exp: Call support_reverse to run
test conditionally.
* gdb.reverse/consecutive-reverse.exp: Likewise.
* gdb.reverse/finish-precsave.exp: Likewise.
* gdb.reverse/finish-reverse-bkpt.exp: Likewise.
* gdb.reverse/finish-reverse.exp: Likewise.
* gdb.reverse/i386-reverse.exp: Likewise.
* gdb.reverse/i386-sse-reverse.exp: Likewise.
* gdb.reverse/machinestate.exp: Likewise.
* gdb.reverse/next-reverse-bkpt-over-sr.exp: Likewise.
* gdb.reverse/sigall-precsave.exp: Likewise.
* gdb.reverse/sigall-reverse.exp: Likewise.
* gdb.reverse/solib-reverse.exp: Likewise.
* gdb.reverse/step-reverse.exp: Likewise.
* gdb.reverse/until-reverse.exp: Likewise.
* gdb.reverse/watch-reverse.exp: Likewise.
diff --git a/gdb/testsuite/gdb.reverse/break-precsave.exp b/gdb/testsuite/gdb.reverse/break-precsave.exp
index c7e492b..687ceef 100644
--- a/gdb/testsuite/gdb.reverse/break-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/break-precsave.exp
@@ -17,7 +17,7 @@
# with breakpoints in a process record logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -35,7 +35,7 @@ set end_location [gdb_get_line_number "end of main" ]
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/break-reverse.exp b/gdb/testsuite/gdb.reverse/break-reverse.exp
index fd77bc5..e73db30 100644
--- a/gdb/testsuite/gdb.reverse/break-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/break-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests reverse debugging
# with breakpoints.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -34,7 +34,7 @@ set end_location [gdb_get_line_number "end of main" ]
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/consecutive-precsave.exp b/gdb/testsuite/gdb.reverse/consecutive-precsave.exp
index 86923f6..5acaf58 100644
--- a/gdb/testsuite/gdb.reverse/consecutive-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/consecutive-precsave.exp
@@ -17,7 +17,7 @@
# consecutive instructions in a process record logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -30,7 +30,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/consecutive-reverse.exp b/gdb/testsuite/gdb.reverse/consecutive-reverse.exp
index 967236f..8742208 100644
--- a/gdb/testsuite/gdb.reverse/consecutive-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/consecutive-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests stepping over
# consecutive instructions in reverse.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/finish-precsave.exp b/gdb/testsuite/gdb.reverse/finish-precsave.exp
index fbf35b6..dad1bc9 100644
--- a/gdb/testsuite/gdb.reverse/finish-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/finish-precsave.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests 'finish' with
# reverse debugging.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp "$testfile" $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp b/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
index 09f6837..546d5ef 100644
--- a/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
+++ b/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
@@ -19,7 +19,7 @@
# the functions entry would be ignored. Make sure the bug doesn't
# reappear.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -35,7 +35,7 @@ if ![runto_main] then {
return 0
}
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/finish-reverse.exp b/gdb/testsuite/gdb.reverse/finish-reverse.exp
index e6be158..efc83d4 100644
--- a/gdb/testsuite/gdb.reverse/finish-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/finish-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests 'finish' with
# reverse debugging.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp "$testfile" $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/i386-precsave.exp b/gdb/testsuite/gdb.reverse/i386-precsave.exp
index 10d8ba3..2cc31dd 100644
--- a/gdb/testsuite/gdb.reverse/i386-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/i386-precsave.exp
@@ -20,7 +20,7 @@
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -57,7 +57,7 @@ gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/i386-reverse.exp b/gdb/testsuite/gdb.reverse/i386-reverse.exp
index f9fda5e..a6085b4 100644
--- a/gdb/testsuite/gdb.reverse/i386-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/i386-reverse.exp
@@ -19,7 +19,7 @@
# This test tests some i386 general instructions for reverse execution.
#
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -56,7 +56,7 @@ gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp b/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
index 3e76643..509fb14 100644
--- a/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
@@ -19,7 +19,7 @@
# This test tests some i386 general instructions for reverse execution.
#
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -57,7 +57,7 @@ gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
index a2f2515..6fc2e81 100644
--- a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
@@ -36,7 +36,7 @@
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -57,7 +57,7 @@ set endmain [gdb_get_line_number " end main " $srcfile]
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/machinestate.exp b/gdb/testsuite/gdb.reverse/machinestate.exp
index bc2516e..e894301 100644
--- a/gdb/testsuite/gdb.reverse/machinestate.exp
+++ b/gdb/testsuite/gdb.reverse/machinestate.exp
@@ -35,7 +35,7 @@
# Test forward replay
#
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -56,7 +56,7 @@ set endmain [gdb_get_line_number " end main " $srcfile]
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp b/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
index 9a95dca..3dd64eb 100644
--- a/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
+++ b/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
@@ -23,7 +23,7 @@
# the same location as the step-resume breakpoint isn't ignored.
#
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -39,7 +39,7 @@ if ![runto_main] then {
return 0
}
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/sigall-precsave.exp b/gdb/testsuite/gdb.reverse/sigall-precsave.exp
index 94144d3..4cf6ac4 100644
--- a/gdb/testsuite/gdb.reverse/sigall-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/sigall-precsave.exp
@@ -18,7 +18,7 @@ if [target_info exists gdb,nosignals] {
return
}
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -172,7 +172,7 @@ gdb_load $binfile
runto gen_ABRT
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/sigall-reverse.exp b/gdb/testsuite/gdb.reverse/sigall-reverse.exp
index d152965..1b64a64 100644
--- a/gdb/testsuite/gdb.reverse/sigall-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/sigall-reverse.exp
@@ -18,7 +18,7 @@ if [target_info exists gdb,nosignals] {
return
}
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -172,7 +172,7 @@ gdb_load $binfile
runto gen_ABRT
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/solib-precsave.exp b/gdb/testsuite/gdb.reverse/solib-precsave.exp
index be6502f..fd8ccef 100644
--- a/gdb/testsuite/gdb.reverse/solib-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/solib-precsave.exp
@@ -17,7 +17,7 @@
# with shared libraries and a logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -54,7 +54,7 @@ gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/solib-reverse.exp b/gdb/testsuite/gdb.reverse/solib-reverse.exp
index 1a51605..2af8e71 100644
--- a/gdb/testsuite/gdb.reverse/solib-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/solib-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests reverse debugging
# with shared libraries.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -53,7 +53,7 @@ gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/step-precsave.exp b/gdb/testsuite/gdb.reverse/step-precsave.exp
index e861116..2041289 100644
--- a/gdb/testsuite/gdb.reverse/step-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/step-precsave.exp
@@ -21,7 +21,7 @@
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -34,7 +34,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/step-reverse.exp b/gdb/testsuite/gdb.reverse/step-reverse.exp
index dd3bc70..b139101 100644
--- a/gdb/testsuite/gdb.reverse/step-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/step-reverse.exp
@@ -20,7 +20,7 @@
# Test step and next in reverse
#
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -33,7 +33,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/until-precsave.exp b/gdb/testsuite/gdb.reverse/until-precsave.exp
index f903d5f..1944b08 100644
--- a/gdb/testsuite/gdb.reverse/until-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/until-precsave.exp
@@ -17,7 +17,7 @@
# 'advance' in precord logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -38,7 +38,7 @@ set bp_location21 [gdb_get_line_number "set breakpoint 21 here"]
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/until-reverse.exp b/gdb/testsuite/gdb.reverse/until-reverse.exp
index 0aeffe8..6cbe723 100644
--- a/gdb/testsuite/gdb.reverse/until-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/until-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests 'until' and
# 'advance' in reverse debugging.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -37,7 +37,7 @@ set bp_location21 [gdb_get_line_number "set breakpoint 21 here"]
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/watch-precsave.exp b/gdb/testsuite/gdb.reverse/watch-precsave.exp
index 1eaefd0..6e3eae7 100644
--- a/gdb/testsuite/gdb.reverse/watch-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/watch-precsave.exp
@@ -18,7 +18,7 @@
# debugging with watchpoints.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![support_process_record] {
return
}
@@ -32,7 +32,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/watch-reverse.exp b/gdb/testsuite/gdb.reverse/watch-reverse.exp
index ba91e9b..b8844d4 100644
--- a/gdb/testsuite/gdb.reverse/watch-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/watch-reverse.exp
@@ -18,7 +18,7 @@
# with watchpoints.
-if ![target_info exists gdb,can_reverse] {
+if ![support_reverse] {
return
}
@@ -32,7 +32,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [support_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index f1900ef..dabb4a9 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1546,6 +1546,28 @@ proc can_single_step_to_signal_handler {} {
return 1
}
+# Return 1 if target supports process record, otherwise return 0.
+
+proc support_process_record {} {
+
+ if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
+ return 1
+ }
+
+ return 0
+}
+
+# Return 1 if target supports reverse debugging, otherwise return 0.
+
+proc support_reverse {} {
+
+ if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
+ return 1
+ }
+
+ return 0
+}
+
# Return 1 if target is ILP32.
# This cannot be decided simply from looking at the target string,
# as it might depend on externally passed compiler options like -m64.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [patch] Run tests in gdb.reverse
2011-11-06 17:36 [patch] Run tests in gdb.reverse Yao Qi
@ 2011-11-07 14:39 ` Joel Brobecker
2011-11-07 14:55 ` Tom Tromey
1 sibling, 0 replies; 5+ messages in thread
From: Joel Brobecker @ 2011-11-07 14:39 UTC (permalink / raw)
To: Yao Qi; +Cc: gdb-patches
> This patch is to convert variable checking in each reverse test case to
> a proc return value checking, so that gdb.reverse tests will be run on
> targets that support reverse debugging.
I haven't looked at the patch too closely, but I think that this is
a good idea. The part that I am worried about is perhaps the fact
that there might have been a reason for providing a manual control
for running these testcases. If that's the case, then we'll probably
want to add a control for forcing these testcase to be disabled.
--
Joel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] Run tests in gdb.reverse
2011-11-06 17:36 [patch] Run tests in gdb.reverse Yao Qi
2011-11-07 14:39 ` Joel Brobecker
@ 2011-11-07 14:55 ` Tom Tromey
2011-11-07 15:08 ` Pedro Alves
2011-11-08 8:15 ` Yao Qi
1 sibling, 2 replies; 5+ messages in thread
From: Tom Tromey @ 2011-11-07 14:55 UTC (permalink / raw)
To: Yao Qi; +Cc: gdb-patches
>>>>> "Yao" == Yao Qi <yao@codesourcery.com> writes:
Yao> During reviewing "arm reverse debugging" patch, we realize that tests in
Yao> gdb.reverse are not run in common regression test unless we set some
Yao> variables in board file.
Yao> This patch is to convert variable checking in each reverse test case to
Yao> a proc return value checking, so that gdb.reverse tests will be run on
Yao> targets that support reverse debugging.
Thanks for doing this.
Yao> +proc support_process_record {} {
Yao> +
Yao> + if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
It seems to me that both of the new procs should include the old check
using target_info as well, just in case. This will avoid breaking
anybody's existing setup.
Ok with that change.
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [patch] Run tests in gdb.reverse
2011-11-07 14:55 ` Tom Tromey
@ 2011-11-07 15:08 ` Pedro Alves
2011-11-08 8:15 ` Yao Qi
1 sibling, 0 replies; 5+ messages in thread
From: Pedro Alves @ 2011-11-07 15:08 UTC (permalink / raw)
To: gdb-patches; +Cc: Tom Tromey, Yao Qi
On Monday 07 November 2011 14:54:28, Tom Tromey wrote:
> >>>>> "Yao" == Yao Qi <yao@codesourcery.com> writes:
>
> Yao> During reviewing "arm reverse debugging" patch, we realize that tests in
> Yao> gdb.reverse are not run in common regression test unless we set some
> Yao> variables in board file.
>
> Yao> This patch is to convert variable checking in each reverse test case to
> Yao> a proc return value checking, so that gdb.reverse tests will be run on
> Yao> targets that support reverse debugging.
>
> Thanks for doing this.
>
> Yao> +proc support_process_record {} {
> Yao> +
> Yao> + if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
>
> It seems to me that both of the new procs should include the old check
> using target_info as well, just in case. This will avoid breaking
> anybody's existing setup.
Yes, we need to be able to run the reverse tests against
remote targets that support reverse debugging themselves.
E.g., simulators. Those can do reverse debugging on their own,
target record is not involved. Can we make predicates supportS_FOO
(add an S)? support_FOO reads as an action to me.
--
Pedro Alves
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [patch] Run tests in gdb.reverse
2011-11-07 14:55 ` Tom Tromey
2011-11-07 15:08 ` Pedro Alves
@ 2011-11-08 8:15 ` Yao Qi
1 sibling, 0 replies; 5+ messages in thread
From: Yao Qi @ 2011-11-08 8:15 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 645 bytes --]
On 11/07/2011 10:54 PM, Tom Tromey wrote:
> Yao> +proc support_process_record {} {
> Yao> +
> Yao> + if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
>
> It seems to me that both of the new procs should include the old check
> using target_info as well, just in case. This will avoid breaking
> anybody's existing setup.
Right. In new patch, target_info is honored in proc, so users can
disable reverse tests in their own board file (to Joel's comment). Two
procs are renamed from support_FOO to suppors_FOO (as Pedro pointed out).
>
> Ok with that change.
This is what I committed.
--
Yao (é½å°§)
[-- Attachment #2: reverse.patch --]
[-- Type: text/x-patch, Size: 18051 bytes --]
gdb/testsuite/
* gdb.exp (supports_process_record): New.
(supports_reverse): New.
* gdb.reverse/break-precsave.exp: Call support_process_record
to run test conditionally.
* gdb.reverse/consecutive-precsave.exp: Likewise.
* gdb.reverse/i386-precsave.exp: Likewise.
* gdb.reverse/machinestate-precsave.exp: Likewise.
* gdb.reverse/solib-precsave.exp: Likewise.
* gdb.reverse/step-precsave.exp: Likewise.
* gdb.reverse/until-precsave.exp: Likewise.
* gdb.reverse/watch-precsave.exp: Likewise.
* gdb.reverse/break-reverse.exp: Call support_reverse to run
test conditionally.
* gdb.reverse/consecutive-reverse.exp: Likewise.
* gdb.reverse/finish-precsave.exp: Likewise.
* gdb.reverse/finish-reverse-bkpt.exp: Likewise.
* gdb.reverse/finish-reverse.exp: Likewise.
* gdb.reverse/i386-reverse.exp: Likewise.
* gdb.reverse/i386-sse-reverse.exp: Likewise.
* gdb.reverse/machinestate.exp: Likewise.
* gdb.reverse/next-reverse-bkpt-over-sr.exp: Likewise.
* gdb.reverse/sigall-precsave.exp: Likewise.
* gdb.reverse/sigall-reverse.exp: Likewise.
* gdb.reverse/solib-reverse.exp: Likewise.
* gdb.reverse/step-reverse.exp: Likewise.
* gdb.reverse/until-reverse.exp: Likewise.
* gdb.reverse/watch-reverse.exp: Likewise.
diff --git a/gdb/testsuite/gdb.reverse/break-precsave.exp b/gdb/testsuite/gdb.reverse/break-precsave.exp
index c7e492b..dc035c0 100644
--- a/gdb/testsuite/gdb.reverse/break-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/break-precsave.exp
@@ -17,7 +17,7 @@
# with breakpoints in a process record logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -35,7 +35,7 @@ set end_location [gdb_get_line_number "end of main" ]
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/break-reverse.exp b/gdb/testsuite/gdb.reverse/break-reverse.exp
index fd77bc5..d76a0e6 100644
--- a/gdb/testsuite/gdb.reverse/break-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/break-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests reverse debugging
# with breakpoints.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -34,7 +34,7 @@ set end_location [gdb_get_line_number "end of main" ]
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/consecutive-precsave.exp b/gdb/testsuite/gdb.reverse/consecutive-precsave.exp
index 86923f6..68d6f83 100644
--- a/gdb/testsuite/gdb.reverse/consecutive-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/consecutive-precsave.exp
@@ -17,7 +17,7 @@
# consecutive instructions in a process record logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -30,7 +30,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/consecutive-reverse.exp b/gdb/testsuite/gdb.reverse/consecutive-reverse.exp
index 967236f..7027729 100644
--- a/gdb/testsuite/gdb.reverse/consecutive-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/consecutive-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests stepping over
# consecutive instructions in reverse.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/finish-precsave.exp b/gdb/testsuite/gdb.reverse/finish-precsave.exp
index fbf35b6..7ba7b88 100644
--- a/gdb/testsuite/gdb.reverse/finish-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/finish-precsave.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests 'finish' with
# reverse debugging.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp "$testfile" $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp b/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
index 09f6837..4a8990a 100644
--- a/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
+++ b/gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
@@ -19,7 +19,7 @@
# the functions entry would be ignored. Make sure the bug doesn't
# reappear.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -35,7 +35,7 @@ if ![runto_main] then {
return 0
}
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/finish-reverse.exp b/gdb/testsuite/gdb.reverse/finish-reverse.exp
index e6be158..0708b37 100644
--- a/gdb/testsuite/gdb.reverse/finish-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/finish-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests 'finish' with
# reverse debugging.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -29,7 +29,7 @@ if { [prepare_for_testing $testfile.exp "$testfile" $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/i386-precsave.exp b/gdb/testsuite/gdb.reverse/i386-precsave.exp
index 10d8ba3..e82dc90 100644
--- a/gdb/testsuite/gdb.reverse/i386-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/i386-precsave.exp
@@ -20,7 +20,7 @@
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -57,7 +57,7 @@ gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/i386-reverse.exp b/gdb/testsuite/gdb.reverse/i386-reverse.exp
index f9fda5e..0d7e57a 100644
--- a/gdb/testsuite/gdb.reverse/i386-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/i386-reverse.exp
@@ -19,7 +19,7 @@
# This test tests some i386 general instructions for reverse execution.
#
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -56,7 +56,7 @@ gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp b/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
index 3e76643..2641b3a 100644
--- a/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/i386-sse-reverse.exp
@@ -19,7 +19,7 @@
# This test tests some i386 general instructions for reverse execution.
#
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -57,7 +57,7 @@ gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
index a2f2515..adc58da 100644
--- a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
@@ -36,7 +36,7 @@
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -57,7 +57,7 @@ set endmain [gdb_get_line_number " end main " $srcfile]
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/machinestate.exp b/gdb/testsuite/gdb.reverse/machinestate.exp
index bc2516e..d51a4a3 100644
--- a/gdb/testsuite/gdb.reverse/machinestate.exp
+++ b/gdb/testsuite/gdb.reverse/machinestate.exp
@@ -35,7 +35,7 @@
# Test forward replay
#
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -56,7 +56,7 @@ set endmain [gdb_get_line_number " end main " $srcfile]
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp b/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
index 9a95dca..187eb24 100644
--- a/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
+++ b/gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
@@ -23,7 +23,7 @@
# the same location as the step-resume breakpoint isn't ignored.
#
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -39,7 +39,7 @@ if ![runto_main] then {
return 0
}
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/sigall-precsave.exp b/gdb/testsuite/gdb.reverse/sigall-precsave.exp
index 94144d3..a8c4184 100644
--- a/gdb/testsuite/gdb.reverse/sigall-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/sigall-precsave.exp
@@ -18,7 +18,7 @@ if [target_info exists gdb,nosignals] {
return
}
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -172,7 +172,7 @@ gdb_load $binfile
runto gen_ABRT
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/sigall-reverse.exp b/gdb/testsuite/gdb.reverse/sigall-reverse.exp
index d152965..f4bd085 100644
--- a/gdb/testsuite/gdb.reverse/sigall-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/sigall-reverse.exp
@@ -18,7 +18,7 @@ if [target_info exists gdb,nosignals] {
return
}
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -172,7 +172,7 @@ gdb_load $binfile
runto gen_ABRT
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/solib-precsave.exp b/gdb/testsuite/gdb.reverse/solib-precsave.exp
index be6502f..71b9ce3 100644
--- a/gdb/testsuite/gdb.reverse/solib-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/solib-precsave.exp
@@ -17,7 +17,7 @@
# with shared libraries and a logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -54,7 +54,7 @@ gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/solib-reverse.exp b/gdb/testsuite/gdb.reverse/solib-reverse.exp
index 1a51605..f57616c 100644
--- a/gdb/testsuite/gdb.reverse/solib-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/solib-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests reverse debugging
# with shared libraries.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -53,7 +53,7 @@ gdb_load ${binfile}
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/step-precsave.exp b/gdb/testsuite/gdb.reverse/step-precsave.exp
index e861116..da56bff 100644
--- a/gdb/testsuite/gdb.reverse/step-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/step-precsave.exp
@@ -21,7 +21,7 @@
#
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -34,7 +34,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/step-reverse.exp b/gdb/testsuite/gdb.reverse/step-reverse.exp
index dd3bc70..9720f41 100644
--- a/gdb/testsuite/gdb.reverse/step-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/step-reverse.exp
@@ -20,7 +20,7 @@
# Test step and next in reverse
#
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -33,7 +33,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/until-precsave.exp b/gdb/testsuite/gdb.reverse/until-precsave.exp
index f903d5f..edf1a02 100644
--- a/gdb/testsuite/gdb.reverse/until-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/until-precsave.exp
@@ -17,7 +17,7 @@
# 'advance' in precord logfile.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -38,7 +38,7 @@ set bp_location21 [gdb_get_line_number "set breakpoint 21 here"]
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/until-reverse.exp b/gdb/testsuite/gdb.reverse/until-reverse.exp
index 0aeffe8..65adba1 100644
--- a/gdb/testsuite/gdb.reverse/until-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/until-reverse.exp
@@ -16,7 +16,7 @@
# This file is part of the GDB testsuite. It tests 'until' and
# 'advance' in reverse debugging.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -37,7 +37,7 @@ set bp_location21 [gdb_get_line_number "set breakpoint 21 here"]
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/watch-precsave.exp b/gdb/testsuite/gdb.reverse/watch-precsave.exp
index 1eaefd0..b2f6618 100644
--- a/gdb/testsuite/gdb.reverse/watch-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/watch-precsave.exp
@@ -18,7 +18,7 @@
# debugging with watchpoints.
# This test suitable only for process record-replay
-if ![target_info exists gdb,use_precord] {
+if ![supports_process_record] {
return
}
@@ -32,7 +32,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/gdb.reverse/watch-reverse.exp b/gdb/testsuite/gdb.reverse/watch-reverse.exp
index ba91e9b..70adecf 100644
--- a/gdb/testsuite/gdb.reverse/watch-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/watch-reverse.exp
@@ -18,7 +18,7 @@
# with watchpoints.
-if ![target_info exists gdb,can_reverse] {
+if ![supports_reverse] {
return
}
@@ -32,7 +32,7 @@ if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
runto main
-if [target_info exists gdb,use_precord] {
+if [supports_process_record] {
# Activate process record/replay
gdb_test_no_output "record" "Turn on process record"
}
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index f1900ef..3f0bffd 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1546,6 +1546,36 @@ proc can_single_step_to_signal_handler {} {
return 1
}
+# Return 1 if target supports process record, otherwise return 0.
+
+proc supports_process_record {} {
+
+ if [target_info exists gdb,use_precord] {
+ return [target_info gdb,use_precord]
+ }
+
+ if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
+ return 1
+ }
+
+ return 0
+}
+
+# Return 1 if target supports reverse debugging, otherwise return 0.
+
+proc supports_reverse {} {
+
+ if [target_info exists gdb,can_reverse] {
+ return [target_info gdb,can_reverse]
+ }
+
+ if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
+ return 1
+ }
+
+ return 0
+}
+
# Return 1 if target is ILP32.
# This cannot be decided simply from looking at the target string,
# as it might depend on externally passed compiler options like -m64.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-11-08 8:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-06 17:36 [patch] Run tests in gdb.reverse Yao Qi
2011-11-07 14:39 ` Joel Brobecker
2011-11-07 14:55 ` Tom Tromey
2011-11-07 15:08 ` Pedro Alves
2011-11-08 8:15 ` Yao Qi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox