From: Pedro Alves Date: Thu, 12 Oct 2017 17:29:21 +0000 (+0100) Subject: Don't run gdb.gdb/ selftests if use_gdb_stub is true X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=dad0c6d2f7410d3b451800f856f3c6818303c316;p=deliverable%2Fbinutils-gdb.git Don't run gdb.gdb/ selftests if use_gdb_stub is true If we make the native-gdbserver board be !is_remote, then the few tests that use the selftest-support.exp routines to debug gdb itself start running, and fail, with something like: Running ..../src/gdb/testsuite/gdb.gdb/selftest.exp ... ERROR: tcl error sourcing ..../src/gdb/testsuite/gdb.gdb/selftest.exp. ERROR: gdbserver does not support run [....] without extended-remote while executing "error "gdbserver does not support $command without extended-remote"" (procedure "gdb_test_multiple" line 25) invoked from within "gdb_test_multiple "run $INTERNAL_GDBFLAGS" "$description" { -re "Starting program.*Breakpoint \[0-9\]+,.*$function \\(\\).* at .*main.c:.*$gdb..." (procedure "selftest_setup" line 45) This commit makes sure those tests continue to be skipped. gdb/testsuite/ChangeLog: 2017-10-13 Pedro Alves * lib/selftest-support.exp (selftest_setup): Extend comments, and also skip on stub-like targets. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2e7eb1d6a8..aa016c8237 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-10-13 Pedro Alves + + * lib/selftest-support.exp (selftest_setup): Extend comments, and + also skip on stub-like targets. + 2017-10-13 Pedro Alves PR gdb/22293 diff --git a/gdb/testsuite/lib/selftest-support.exp b/gdb/testsuite/lib/selftest-support.exp index 987b5c8f5f..798d19dd89 100644 --- a/gdb/testsuite/lib/selftest-support.exp +++ b/gdb/testsuite/lib/selftest-support.exp @@ -124,8 +124,23 @@ proc selftest_setup { executable function } { proc do_self_tests {function body} { global GDB tool - # Are we on a target board. - if { [is_remote target] || ![isnative] } then { + # Are we testing with a remote board? In that case, the target + # won't have access to the GDB's auxilliary data files + # (data-directory, etc.). It's simpler to just skip. + if [is_remote target] { + return + } + + # ... or seemingly testing with a cross debugger? Likely GDB + # wouldn't be able to debug itself then... + if ![isnative] { + return + } + + # ... or with a stub-like server? I.e., gdbserver + "target + # remote"? In that case we won't be able to pass command line + # arguments to GDB, and selftest_setup wants to do exactly that. + if [target_info exists use_gdb_stub] { return }