torture-init
global GDB
+global host_triplet target_triplet
if ![info exists ::env(GUALITY_GDB_NAME)] {
if [info exists GDB] {
set guality_gdb_name "$GDB"
- } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } {
+ } elseif { [string equal $host_triplet $target_triplet]
+ && [info exists rootme]
+ && [file exists $rootme/../gdb/gdb] } {
# If we're doing a combined build, and gdb is available, use it.
set guality_gdb_name "$rootme/../gdb/gdb"
} else {
- set guality_gdb_name "[transform gdb]"
+ set guality_gdb_name "gdb"
}
setenv GUALITY_GDB_NAME "$guality_gdb_name"
}
torture-init
global GDB
+global host_triplet target_triplet
if ![info exists ::env(GUALITY_GDB_NAME)] {
if [info exists GDB] {
set guality_gdb_name "$GDB"
- } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } {
+ } elseif { [string equal $host_triplet $target_triplet]
+ && [info exists rootme]
+ && [file exists $rootme/../gdb/gdb] } {
# If we're doing a combined build, and gdb is available, use it.
set guality_gdb_name "$rootme/../gdb/gdb"
} else {
- set guality_gdb_name "[transform gdb]"
+ set guality_gdb_name "gdb"
}
setenv GUALITY_GDB_NAME "$guality_gdb_name"
}
torture-init
global GDB
+global host_triplet target_triplet
if ![info exists ::env(GUALITY_GDB_NAME)] {
if [info exists GDB] {
set guality_gdb_name "$GDB"
- } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } {
+ } elseif { [string equal $host_triplet $target_triplet]
+ && [info exists rootme]
+ && [file exists $rootme/../gdb/gdb] } {
# If we're doing a combined build, and gdb is available, use it.
set guality_gdb_name "$rootme/../gdb/gdb"
} else {
- set guality_gdb_name "[transform gdb]"
+ set guality_gdb_name "gdb"
}
setenv GUALITY_GDB_NAME "$guality_gdb_name"
}
# the literal string with extra whitespace removed.
# Argument 3 handles expected failures and the like
proc gdb-test { useline args } {
- if { ![isnative] || [is_remote target] } { return }
-
if { [llength $args] >= 4 } {
switch [dg-process-target [lindex $args 3]] {
"S" { }
puts $fd "quit"
close $fd
- send_log "Spawning: $gdb_name -nx -nw -quiet -batch -x $cmd_file ./$output_file\n"
- set res [remote_spawn target "$gdb_name -nx -nw -quiet -batch -x $cmd_file ./$output_file"]
+ set cmd_file_remote [remote_download target $cmd_file]
+ set output_file_remote [remote_download target $output_file]
+ send_log "Spawning: $gdb_name -nx -nw -quiet -batch -x $cmd_file_remote $output_file_remote\n"
+ set res [remote_spawn target "$gdb_name -nx -nw -quiet -batch -x $cmd_file_remote $output_file_remote"]
if { $res < 0 || $res == "" } {
unsupported "$testname"
file delete $cmd_file
+ if { [is_remote target] } {
+ remote_file target delete $cmd_file_remote
+ remote_file target delete $output_file_remote
+ }
return
}
unsupported "$testname"
remote_close target
file delete $cmd_file
+ if { [is_remote target] } {
+ remote_file target delete $cmd_file_remote
+ remote_file target delete $output_file_remote
+ }
return
}
# print var; print expected
}
remote_close target
file delete $cmd_file
+ if { [is_remote target] } {
+ remote_file target delete $cmd_file_remote
+ remote_file target delete $output_file_remote
+ }
return
}
# ptype var;
}
remote_close target
file delete $cmd_file
+ if { [is_remote target] } {
+ remote_file target delete $cmd_file_remote
+ remote_file target delete $output_file_remote
+ }
return
}
timeout {
unsupported "$testname"
remote_close target
file delete $cmd_file
+ if { [is_remote target] } {
+ remote_file target delete $cmd_file_remote
+ remote_file target delete $output_file_remote
+ }
return
}
}
unsupported "$testname"
remote_close target
file delete $cmd_file
+ if { [is_remote target] } {
+ remote_file target delete $cmd_file_remote
+ remote_file target delete $output_file_remote
+ }
return
}
# Argument 1 is the location where gdb is used
#
proc report_gdb { gdb loc } {
- if { [catch { exec which $gdb } msg] } {
- send_log "gdb not found in $loc: $msg\n"
+ set status [remote_exec target "which" "$gdb"]
+ set gdb [string trim [lindex $status 1]]
+ if { [lindex $status 0] != 0 } {
+ send_log "gdb not found in $loc: $gdb\n"
return
}
- set gdb [exec which $gdb]
send_log "gdb used in $loc: $gdb\n"
send_log "gdb used in $loc: "
- if { [catch { exec $gdb -v } gdb_version] } {
+ set status [remote_exec target "$gdb" "-v"]
+ set gdb_version [lindex $status 1]
+ if { [lindex $status 0] != 0 } {
send_log "getting version failed:\n"
} else {
send_log "version:\n"