From a02a90c114cdee7951e7a623873b5025a1b7ab9f Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sun, 12 Sep 2021 11:30:06 +0200 Subject: [PATCH] [gdb/testsuite] Set sysroot earlier in local-board.exp When running test-case gdb.base/batch-exit-status.exp for native, it passes. But with target board cc-with-debug-names, we run into (added missing double quotes for clarity): ... builtin_spawn $build/gdb/testsuite/../../gdb/gdb -nw -nx \ -data-directory $build/gdb/testsuite/../data-directory \ -iex "set height 0" -iex "set width 0" -ex "set sysroot" -batch ""^M : No such file or directory.^M PASS: gdb.base/batch-exit-status.exp: \ : No such file or directory\.: [lindex $result 2] == 0 FAIL: gdb.base/batch-exit-status.exp: \ : No such file or directory\.: [lindex $result 3] == $expect_status ... The difference between the passing and failing case is that with native we have (leaving out set height/width for brevity): ... $ gdb -batch ""; echo $? : No such file or directory. 1 ... and with target board cc-with-debug-names: ... $ gdb -ex "set sysroot" -batch ""; echo $? : No such file or directory. 0 ... The difference is expected. GDB returns the exit status of the last executed command. In the former case that's 'file ""', which fails. In the latter case, that's 'set sysroot', which succeeds. Fix this by setting sysroot using -iex instead of -ex in local-board.exp, such that we have the expected: ... $ gdb -iex "set sysroot" -batch ""; echo $? : No such file or directory. 1 ... Tested on x86_64-linux. --- gdb/testsuite/boards/local-board.exp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/testsuite/boards/local-board.exp b/gdb/testsuite/boards/local-board.exp index 6d78fa666eb..6523312b0cd 100644 --- a/gdb/testsuite/boards/local-board.exp +++ b/gdb/testsuite/boards/local-board.exp @@ -24,4 +24,4 @@ set baseboard [lindex [split $board "/"] 0] set board_info($baseboard,isremote) 0 # Set sysroot to avoid sending files via the remote protocol. -set GDBFLAGS "${GDBFLAGS} -ex \"set sysroot\"" +set GDBFLAGS "${GDBFLAGS} -iex \"set sysroot\"" -- 2.30.2