diff options
author | Tom de Vries <tdevries@suse.de> | 2022-11-15 15:24:54 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-11-15 15:24:54 +0100 |
commit | bfa50dc8820416dd362b1c59aabd50633b9bbc67 (patch) | |
tree | c5ee27812e2fcd9652709be42e0f921c85c2e4f2 | |
parent | 7642de570f32bf901f397c419172cd2ab863ebc6 (diff) | |
download | binutils-bfa50dc8820416dd362b1c59aabd50633b9bbc67.zip binutils-bfa50dc8820416dd362b1c59aabd50633b9bbc67.tar.gz binutils-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.exp | 3 | ||||
-rw-r--r-- | gdb/testsuite/boards/remote-gdbserver-on-localhost.exp | 6 |
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 |