diff options
Diffstat (limited to 'gdb/testsuite/boards/native-extended-gdbserver.exp')
-rw-r--r-- | gdb/testsuite/boards/native-extended-gdbserver.exp | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/gdb/testsuite/boards/native-extended-gdbserver.exp b/gdb/testsuite/boards/native-extended-gdbserver.exp index 4ea210f..564ffd2 100644 --- a/gdb/testsuite/boards/native-extended-gdbserver.exp +++ b/gdb/testsuite/boards/native-extended-gdbserver.exp @@ -80,17 +80,12 @@ proc mi_gdb_start { args } { return 0 } -# Overriden in order to set the remote exec-file whenever a file is -# loaded to gdb. -# -proc gdb_load { arg } { +# Helper that runs "set remote exec-file" with the last loaded file. + +proc extended_gdbserver_load_last_file {} { global gdb_prompt global last_loaded_file - if { $arg != "" } { - if [gdb_file_cmd $arg] then { return -1 } - } - send_gdb "set remote exec-file $last_loaded_file\n" gdb_expect { -re "$gdb_prompt $" {} @@ -103,6 +98,37 @@ proc gdb_load { arg } { return 0 } +# Overriden in order to set the remote exec-file whenever a file is +# loaded to gdb. +# +if { [info procs extended_gdbserver_gdb_file_cmd] == "" } { + rename gdb_file_cmd extended_gdbserver_gdb_file_cmd +} +proc gdb_file_cmd { arg } { + if [extended_gdbserver_gdb_file_cmd $arg] { + return -1 + } + return [extended_gdbserver_load_last_file] +} + +proc gdb_reload { } { + return [extended_gdbserver_load_last_file] +} + +# With the two procedure overrides above, it shouldn't be necessary to +# override this one too. However, not doing so regresses +# gdb.base/dbx.exp. See comments above gdb.base/dbx.exp:gdb_file_cmd. +# Once testing of the "symbol-file"/"exec-file" commands is moved out +# to a separate non-dbx testcase, we should be able to remove this. +proc gdb_load { arg } { + if { $arg != "" } { + if [gdb_file_cmd $arg] then { return -1 } + } + + return [extended_gdbserver_load_last_file] +} + + # Likewise, for MI. # if { [info procs extended_gdbserver_mi_gdb_load] == "" } { |