From 3581f5e4f7c903b53e25c5b8840fa4771ca139aa Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 9 Mar 2023 10:45:03 +0100 Subject: [PATCH] [gdb/testsuite] Fix gdb.server/connect-with-no-symbol-file.exp for remote target Test-case gdb.server/connect-with-no-symbol-file.exp fails with target board remote-gdbserver-on-localhost. The problem is here: ... set target_exec [gdb_remote_download target $binfile.bak $binfile] ... A "gdb_remote_download target" copies from build to target. So $binfile is assumed to be a target path, but it's actually a build path. Fix this by: - fist copying $binfile.bak to $binfile, and - simply doing [gdb_remote_download target $binfile]. Then, $binfile.bak is created here: ... # Make sure we have the original symbol file in a safe place to copy from. gdb_remote_download host $binfile $binfile.bak ... and since "gdb_remote_download host" copies from build to host, $binfile.bak is assumed to be a host path, but it's actually a build path. This happens to cause no problems in this configuration (because build == host), but it would for a remote host configuration. So let's fix this by making build rather than host the "safe place to copy from". Tested on x86_64-linux. --- gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp b/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp index b98e566e2d6..efddccd2a19 100644 --- a/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp +++ b/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp @@ -43,8 +43,11 @@ proc connect_no_symbol_file { sysroot action } { global binfile with_test_prefix "setup" { + # Restore original $binfile. + gdb_remote_download build $binfile.bak $binfile + # Copy the symbol file to the target. - set target_exec [gdb_remote_download target $binfile.bak $binfile] + set target_exec [gdb_remote_download target $binfile] # Make sure we're disconnected, in case we're testing with an # extended-remote board, therefore already connected. @@ -89,7 +92,7 @@ proc connect_no_symbol_file { sysroot action } { } # Make sure we have the original symbol file in a safe place to copy from. -gdb_remote_download host $binfile $binfile.bak +gdb_remote_download build $binfile $binfile.bak # Start with no executable loaded. clean_restart -- 2.30.2