+2010-02-16  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * gdb.xml/tdesc-arch.exp, gdb.xml/tdesc-regs.exp: Rewrite file
+       creation to support remote host testing.
+
 2010-02-16  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.base/valgrind-db-attach.exp: Use unsupported instead of xfail.
 
 
 proc set_arch { arch which } {
     global gdb_prompt
+    global subdir
 
-    set fd [open "tdesc-arch.xml" w]
+    set fd [open "$subdir/tdesc-arch.xml" w]
     puts $fd \
        "<target>
            <architecture>$arch</architecture>
         </target>"
     close $fd
+    remote_download host "${subdir}/tdesc-arch.xml" "tdesc-arch.xml"
 
     # Anchor the test output, so that error messages are detected.
     set cmd "set tdesc filename tdesc-arch.xml"
        "The target architecture is set automatically \\(currently $arch\\)" \
        "$cmd ($which architecture)"
 
-    file delete "tdesc-arch.xml"
+    file delete "${subdir}/tdesc-arch.xml"
+    remote_file host delete "tdesc-arch.xml"
 }
 
 set_arch $arch1 first
 set_arch $arch2 second
 
 # Check an invalid architecture setting.
-set fd [open "tdesc-arch.xml" w]
+set fd [open "${subdir}/tdesc-arch.xml" w]
 puts $fd \
     "<target>
        <architecture>invalid</architecture>
      </target>"
 close $fd
+remote_download host "$subdir/tdesc-arch.xml" "tdesc-arch.xml"
 
 set cmd "set tdesc filename tdesc-arch.xml"
 gdb_test $cmd \
     "The target architecture is set automatically \\(currently $default_arch\\)" \
     "$cmd (invalid architecture)"
 
-file delete "tdesc-arch.xml"
+file delete "${subdir}/tdesc-arch.xml"
+remote_file host delete "tdesc-arch.xml"
 
 # Copy the core registers into the objdir if necessary, so that they
 # will be found by <xi:include>.
 foreach src ${core-regs} {
-    file delete "$src"
-    file copy "$srcdir/../features/$regdir$src" "$src"
+    set file [remote_download host "$srcdir/../features/$regdir$src" "$src"]
 }
 
 # Similarly, we need to copy files under test into the objdir.
     global gdb_prompt
     global core-regs
 
-    file delete "regs.xml"
+    file delete "$subdir/regs.xml"
     set ifd [open "$srcdir/$subdir/$file" r]
-    set ofd [open "regs.xml" w]
+    set ofd [open "$subdir/regs.xml" w]
     while {[gets $ifd line] >= 0} {
        if {[regexp {<xi:include href="core-regs.xml"/>} $line]} {
            foreach src ${core-regs} {
     }
     close $ifd
     close $ofd
+    remote_download host "$subdir/regs.xml" "regs.xml"
+    file delete "$subdir/regs.xml"
 
     # Anchor the test output, so that error messages are detected.
     set cmd "set tdesc filename regs.xml"
-    set msg "set tdesc filename $file"
+    set msg "set tdesc filename regs.xml - from $file"
     set cmd_regex [string_to_regexp $cmd]
     gdb_test_multiple $cmd $msg {
        -re "^$cmd_regex\r\n$errmsg$gdb_prompt $" {
            pass $msg
        }
     }
+    remote_file host delete "regs.xml"
 }
 
 load_description "extra-regs.xml" ""
 gdb_test "ptype \$extrareg" "type = void"
 
 foreach src ${core-regs} {
-    file delete "$src"
+    remote_file host delete "$src"
 }
-file delete "regs.xml"