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:
Yao Qi 2011-11-08 08:23:49 +00:00
parent ce3b0ff733
commit d3895d7d29
25 changed files with 106 additions and 46 deletions

View file

@ -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

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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.