gcc-simulate-thread.exp (simulate-thread): Run on all targets.

* lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
	Look for simulate_thread_done to determine working gdb.  Reduce timeout
	to 10 seconds and fail when timeout occurs.  Improve error messages.

From-SVN: r181452
This commit is contained in:
Uros Bizjak 2011-11-17 20:56:39 +01:00
parent c39169c82c
commit 29e339fd2e
2 changed files with 22 additions and 22 deletions

View File

@ -1,3 +1,9 @@
2011-10-17 Uros Bizjak <ubizjak@gmail.com>
* lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
Look for simulate_thread_done to determine working gdb. Reduce timeout
to 10 seconds and fail when timeout occurs. Improve error messages.
2011-11-17 Jason Merrill <jason@redhat.com>
PR c++/51137
@ -11,8 +17,7 @@
2011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lib/gcc-simulate-thread.exp (simulate-thread): Skip on
alpha*-*-*.
* lib/gcc-simulate-thread.exp (simulate-thread): Skip on alpha*-*-*.
2011-10-16 Uros Bizjak <ubizjak@gmail.com>

View File

@ -22,15 +22,6 @@
# Call 'fail' if a given test printed "FAIL:", otherwise call 'pass'.
proc simulate-thread { args } {
# ??? Exit immediately if this is alpha*-*-* target, single-stepping
# executable between ldl_l and stl_c insns in gdb breaks LL/SC chaining.
if { [istarget alpha*-*-*] } { return }
# GNU gdb 6.3 on powerpc-darwin also on these (and expect does not appear
# to be able to terminate them).
if { [istarget powerpc*-*-darwin*] } { return }
if { ![isnative] || [is_remote target] } { return }
if { [llength $args] == 1 } {
@ -54,35 +45,39 @@ proc simulate-thread { args } {
return
}
set message "(thread simulation test)"
send_log "Spawning: $gdb_name -nx -nw -quiet -x $cmd_file ./$exec_file\n"
set res [remote_spawn target "$gdb_name -nx -nw -x $cmd_file ./$exec_file"]
if { $res < 0 || $res == "" } {
unsupported "$testcase"
unsupported "$testcase $message"
return
}
set gdb_worked 0
remote_expect target [timeout_value] {
# Set timeout to 10 seconds due to huge amount of generated log.
remote_expect target 10 {
# Too old GDB
-re "Unhandled dwarf expression|Error in sourced command file" {
unsupported "$testcase"
unsupported "$testcase $message"
remote_close target
return
}
-re "FAIL:" {
fail "$testcase"
fail "$testcase $message"
remote_close target
return
}
# If the gdb output contained simulate_thread_main, assume
# If the gdb output contained simulate_thread_done, assume
# that at the very least, we had a working gdb that was able
# to break in simulate_thread_main.
-re "simulate_thread_main" {
# to break in simulate_thread_done.
-re "simulate_thread_done" {
set gdb_worked 1
exp_continue
}
timeout {
unsupported "$testcase"
fail "$testcase $message"
remote_close target
return
}
@ -90,10 +85,10 @@ proc simulate-thread { args } {
remote_close target
if {$gdb_worked} {
pass "$testcase"
pass "$testcase $message"
} else {
# Fail in the absence of a sane GDB.
fail "$testcase"
# Unsupported in the absence of a sane GDB.
unsupported "$testcase $message"
}
return
}