From 16fe515a1d1855ddc20cee51000dbbf4d7ac06be Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 28 Mar 2023 17:48:35 +0200 Subject: [gdb/testsuite] Fix gdb.server/sysroot.exp for remote host Fix test-case gdb.server/sysroot.exp for remote host, by: - using gdb_remote_download, and - disabling the "local" scenario for remote host/target, unless remote host == remote target. Tested on x86_64-linux. --- gdb/testsuite/gdb.server/sysroot.exp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/gdb.server/sysroot.exp b/gdb/testsuite/gdb.server/sysroot.exp index ac2a03d..35f15d6 100644 --- a/gdb/testsuite/gdb.server/sysroot.exp +++ b/gdb/testsuite/gdb.server/sysroot.exp @@ -28,11 +28,16 @@ if {[build_executable "failed to prepare" $testfile $srcfile "additional_flags=- } set target_binfile [gdb_remote_download target $binfile] +set host_binfile [gdb_remote_download host $binfile] # Run once with sysroot set to the local filesystem and once set to the remote # target. set modes {} -if { ![is_remote target] } { +if { ( ![is_remote host] && ![is_remote target ] ) + || [board_info host name] == [board_info target name] } { + # Local means that gdb and gdbserver look at the same file system. That's + # not the case for remote host or remote target, unless + # remote host == remote target. lappend modes "local" } lappend modes "remote" @@ -44,7 +49,7 @@ foreach_with_prefix sysroot $modes { if { $sysroot == "local" } { set sysroot_command "/" - set reading_symbols "Reading symbols from $binfile..." + set reading_symbols "Reading symbols from $host_binfile..." set timeout_factor 1 } else { set sysroot_command "target:" -- cgit v1.1