+ global gdbserver_host_exec
+ global gdbserver_host_mtime
+ global gdbserver_server_exec
+ global last_loaded_file
+
+ set host_exec $last_loaded_file
+
+ # If we already downloaded a file to the target, see if we can reuse it.
+ set reuse 0
+ if { [info exists gdbserver_server_exec] } {
+ set reuse 1
+
+ # If the file has changed, we can not.
+ if { $host_exec != $gdbserver_host_exec } {
+ set reuse 0
+ }
+
+ # If the mtime has changed, we can not.
+ if { [file mtime $host_exec] != $gdbserver_host_mtime } {
+ set reuse 0
+ }
+ }
+
+ if { $reuse == 0 } {
+ set gdbserver_host_exec $host_exec
+ set gdbserver_host_mtime [file mtime $host_exec]
+ if [is_remote target] {
+ set gdbserver_server_exec [gdb_download $host_exec]
+ } else {
+ set gdbserver_server_exec $host_exec
+ }
+ }