aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-11-15 15:24:54 +0100
committerTom de Vries <tdevries@suse.de>2022-11-15 15:24:54 +0100
commitbfa50dc8820416dd362b1c59aabd50633b9bbc67 (patch)
treec5ee27812e2fcd9652709be42e0f921c85c2e4f2
parent7642de570f32bf901f397c419172cd2ab863ebc6 (diff)
downloadgdb-bfa50dc8820416dd362b1c59aabd50633b9bbc67.zip
gdb-bfa50dc8820416dd362b1c59aabd50633b9bbc67.tar.gz
gdb-bfa50dc8820416dd362b1c59aabd50633b9bbc67.tar.bz2
[gdb/testsuite] Normalize gdbserver path name
Currently for the target board remote-gdbserver-on-localhost we use the gdbserver file on build, using a file name which includes "/../". Fix this by using a normalized file name instead. This allows us to be more restrictive about which files REMOTE_TARGET_USERNAME can access: ... - remote_exec build "chmod go-rx $objdir/outputs" + remote_exec build "chmod go-rx $objdir" ... Tested on x86_64-linux.
-rw-r--r--gdb/testsuite/boards/gdbserver-base.exp3
-rw-r--r--gdb/testsuite/boards/remote-gdbserver-on-localhost.exp6
2 files changed, 4 insertions, 5 deletions
diff --git a/gdb/testsuite/boards/gdbserver-base.exp b/gdb/testsuite/boards/gdbserver-base.exp
index 20ee90d..633ac7e 100644
--- a/gdb/testsuite/boards/gdbserver-base.exp
+++ b/gdb/testsuite/boards/gdbserver-base.exp
@@ -22,7 +22,8 @@ process_multilib_options ""
set_board_info compiler "[find_gcc]"
# Test the copy of gdbserver in the build directory.
-set_board_info gdb_server_prog "[pwd]/../../gdbserver/gdbserver"
+set_board_info gdb_server_prog \
+ "[file normalize [pwd]/../../gdbserver/gdbserver]"
# gdbserver does not intercept target file operations and perform them
# on the host.
diff --git a/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp b/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
index 931fba7..af23eaa 100644
--- a/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
+++ b/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
@@ -42,10 +42,8 @@ if { [board_info $board username] != $env(USER) } {
# We're pretending that some local user account is remote target.
# Make things a bit more realistic by restricting file permissions.
- # Make sure remote target can't see files on build. Note that we're
- # currently using $objdir/output instead of $objdir because of gdbserver
- # being accessed on the target using $objdir/../../gdbserver/gdbserver.
- remote_exec build "chmod go-rx $objdir/outputs"
+ # Make sure remote target can't see files on build.
+ remote_exec build "chmod go-rx $objdir"
# Make sure build can't see files on remote target. We can't use
# remote_exec target, because we're in the middle of parsing the