diff options
author | Janis Johnson <janis@sourceware.org> | 2011-05-05 16:29:58 +0000 |
---|---|---|
committer | Janis Johnson <janis@sourceware.org> | 2011-05-05 16:29:58 +0000 |
commit | 56744f0ad5014d8f09764e77f30c50d125c3dc5a (patch) | |
tree | b5f8a510adda134c2e0d9635be64eef5b4458559 /gdb/testsuite/lib | |
parent | 4c67c7981493811f6766ffb9b8a33cf9a8bb0956 (diff) | |
download | gdb-56744f0ad5014d8f09764e77f30c50d125c3dc5a.zip gdb-56744f0ad5014d8f09764e77f30c50d125c3dc5a.tar.gz gdb-56744f0ad5014d8f09764e77f30c50d125c3dc5a.tar.bz2 |
* lib/gdb.exp (exec_target_file, exec_symbol_file,
gdb_rename_execfile, gdb_touch_execfile): New.
* gdb.base/reread.exp: Use new procs to handle multiple
exec files.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 5979888..c50a732 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2653,6 +2653,54 @@ proc shlib_symbol_file { libname } { return $libname } +# Return the filename to download to the target and load for this +# executable. Normally just BINFILE unless it is renamed to something +# else for this target. + +proc exec_target_file { binfile } { + return $binfile +} + +# Return the filename GDB will load symbols from when debugging this +# executable. Normally just BINFILE unless executables for this target +# have separate files for symbols. + +proc exec_symbol_file { binfile } { + return $binfile +} + +# Rename the executable file. Normally this is just BINFILE1 being renamed +# to BINFILE2, but some targets require multiple binary files. +proc gdb_rename_execfile { binfile1 binfile2 } { + catch { file rename -force \ + [exec_target_file ${binfile1}] \ + [exec_target_file ${binfile2}] } + if { [exec_target_file ${binfile1}] != [exec_symbol_file ${binfile1}] } { + catch { file rename -force \ + [exec_symbol_file ${binfile1}] \ + [exec_symbol_file ${binfile2}] } + } +} + +# "Touch" the executable file to update the date. Normally this is just +# BINFILE, but some targets require multiple files. +proc gdb_touch_execfile { binfile } { + catch { file copy -force \ + [exec_target_file ${binfile}] \ + [exec_target_file ${binfile}.tmp] } + catch { file rename -force \ + [exec_target_file ${binfile}.tmp] \ + [exec_target_file ${binfile}] } + if { [exec_target_file ${binfile}] != [exec_symbol_file ${binfile}] } { + catch { file copy -force \ + [exec_symbol_file ${binfile}] \ + [exec_symbol_file ${binfile}.tmp] } + catch { file rename -force \ + [exec_symbol_file ${binfile}.tmp] \ + [exec_symbol_file ${binfile}] } + } +} + # gdb_download # # Copy a file to the remote target and return its target filename. |