From bfa50dc8820416dd362b1c59aabd50633b9bbc67 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 15 Nov 2022 15:24:54 +0100 Subject: [PATCH] [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. --- gdb/testsuite/boards/gdbserver-base.exp | 3 ++- 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 20ee90d6116..633ac7e2342 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 931fba7fa26..af23eaad083 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