From: Tom de Vries Date: Tue, 21 Mar 2023 10:07:19 +0000 (+0100) Subject: [gdb/testsuite] Set remotedir in local-remote-host-native.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c872c903c772ca6b269e5dbe2880dd084240ae6;p=binutils-gdb.git [gdb/testsuite] Set remotedir in local-remote-host-native.exp In commit ff581559f9d ("[gdb/testsuite] Add gdb.testsuite/board-sanity.exp") I removed handling of HOST_DIR in local-remote-host-native.exp to fix FAILs in test-case gdb.testsuite/board-sanity.exp. Reintroduce handling of HOST_DIR using remotedir, now that using remotedir for a host board no longer make compilation fail due to commit 80d6c79866f ("[gdb/testsuite] Handle remotedir in remote_upload"). This fixes an XFAIL in gdb.testsuite/board-sanity.exp, introduced in commit 3741934fdb0 ("[gdb/testsuite] Set remotedir by default in some boards"). Tested on x86_64-linux. --- diff --git a/gdb/testsuite/boards/local-remote-host-native.exp b/gdb/testsuite/boards/local-remote-host-native.exp index 911310b3072..2851eb09324 100644 --- a/gdb/testsuite/boards/local-remote-host-native.exp +++ b/gdb/testsuite/boards/local-remote-host-native.exp @@ -44,12 +44,37 @@ set_board_info hostname 127.0.0.1 set_board_info username $env(USER) +save_vars {rsh_cmd res} { + set rsh_cmd \ + [join \ + [list \ + [board_info $board rsh_prog] \ + -l [board_info $board username] \ + [board_info $board hostname]]] + + if [info exists HOST_DIR] { + set_board_info remotedir $HOST_DIR + } else { + # Set remotedir by default, to force remote_download target to give an + # absolute file name. + set res [remote_exec build $rsh_cmd pwd] + if { [lindex $res 0] != 0 } { + error "Couldn't set remotedir using pwd" + } + set_board_info remotedir [string trim [lindex $res 1]] + } +} + # The ssh key should be correctly set up that you ssh to 127.0.0.1 # without having to type password. set_board_info rsh_prog /usr/bin/ssh set_board_info rcp_prog /usr/bin/scp set_board_info file_transfer "rsh" +if { $board_type == "host" } { + set_board_info gdb_opts "-d \"${HOST_DIR}\"" +} + proc ${board}_spawn { board cmd } { global board_info diff --git a/gdb/testsuite/gdb.testsuite/board-sanity.exp b/gdb/testsuite/gdb.testsuite/board-sanity.exp index eb19db8699b..835707c9187 100644 --- a/gdb/testsuite/gdb.testsuite/board-sanity.exp +++ b/gdb/testsuite/gdb.testsuite/board-sanity.exp @@ -137,13 +137,6 @@ proc_with_prefix gdb_simple_compile_and_run {} { set result [remote_exec target $target_obj] set status [lindex $result 0] set output [lindex $result 1] - - if { [host_info name] == "local-remote-host-native" - && [target_info name] == "local-remote-host-native" } { - # Setting remotedir on this board has effect on both host and - # target, and it seems to broken for host. Xfail this for now. - setup_xfail *-*-* - } gdb_assert { $status == 0 && $output == "" } remote_file build delete $obj