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.
This commit is contained in:
parent
ce3b0ff733
commit
d3895d7d29
25 changed files with 106 additions and 46 deletions
|
@ -1,3 +1,33 @@
|
|||
2011-11-08 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2011-11-05 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* gdb.trace/trace-break.exp: Add test on setting two
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue