Index: gdb.dwarf2/dw2-dir-file-name.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp,v retrieving revision 1.4 diff -u -p -r1.4 dw2-dir-file-name.exp --- gdb.dwarf2/dw2-dir-file-name.exp 15 Mar 2013 01:41:28 -0000 1.4 +++ gdb.dwarf2/dw2-dir-file-name.exp 16 May 2013 14:50:18 -0000 @@ -322,10 +322,64 @@ if { [gdb_compile "${asmsrcfile} ${srcdi return -1 } -remote_exec host "sh -c \"rm -f ${srcabsdir}{/rdir,}{/xdir,}{/compdir,}{/ldir,}{/fdir,}/${srctmpfile}\"" -remote_exec host "sh -c \"rmdir ${srcabsdir}{/rdir,}{/xdir,}{/compdir,}{/ldir,}{/fdir,}\"" -remote_exec host "sh -c \"mkdir ${srcabsdir}{,/rdir}{,/xdir}{,/compdir}{,/ldir}{,/fdir}\"" -remote_exec host "sh -c \"for d in ${srcabsdir}{,/rdir}{,/xdir}{,/compdir}{,/ldir}{,/fdir};do cp ${srcdir}/${subdir}/${srcfile} \\\$d/${srctmpfile}; done\"" +set dirs { \ + "" \ + "/fdir" \ + "/ldir" \ + "/ldir/fdir" \ + "/compdir" \ + "/compdir/fdir" \ + "/compdir/ldir" \ + "/compdir/ldir/fdir" \ + "/xdir" \ + "/xdir/fdir" \ + "/xdir/ldir" \ + "/xdir/ldir/fdir" \ + "/xdir/compdir" \ + "/xdir/compdir/fdir" \ + "/xdir/compdir/ldir" \ + "/xdir/compdir/ldir/fdir" \ + "/rdir" \ + "/rdir/fdir" \ + "/rdir/ldir" \ + "/rdir/ldir/fdir" \ + "/rdir/compdir" \ + "/rdir/compdir/fdir" \ + "/rdir/compdir/ldir" \ + "/rdir/compdir/ldir/fdir" \ + "/rdir/xdir" \ + "/rdir/xdir/fdir" \ + "/rdir/xdir/ldir" \ + "/rdir/xdir/ldir/fdir" \ + "/rdir/xdir/compdir" \ + "/rdir/xdir/compdir/fdir" \ + "/rdir/xdir/compdir/ldir" \ +} + +proc reverse {lst} { + set retlst {} + for {set i [expr "[llength $lst] - 1"]} {$i >= 0} {set i [expr "$i - 1"]} { + lappend retlst [lindex $lst $i] + } + return $retlst +} + +proc pathexpand {prefix dirlst suffix} { + set retlst {} + for {set i 0} {$i < [llength $dirlst]} {incr i} { + lappend retlst "$prefix[lindex $dirlst $i]$suffix" + } + return $retlst +} + +set filelist [pathexpand $srcabsdir $dirs "/$srctmpfile"] +set dircreatelist [pathexpand $srcabsdir $dirs ""] +set dirremovelist [pathexpand $srcabsdir [reverse $dirs] ""] + +remote_exec host "sh -c \"rm -f $filelist\"" +remote_exec host "sh -c \"rmdir $dirremovelist\"" +remote_exec host "sh -c \"mkdir $dircreatelist\"" +remote_exec host "sh -c \"for d in $dircreatelist; do cp ${srcdir}/${subdir}/${srcfile} \\\$d/${srctmpfile}; done\"" clean_restart ${testfile}