Fix solib-display.exp remote check
authorSimon Marchi <simon.marchi@ericsson.com>
Wed, 4 May 2016 13:27:34 +0000 (09:27 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 4 May 2016 13:29:28 +0000 (09:29 -0400)
This test currently uses [is_remote target] to check if the test is
supported.  This is not quite correct, as the limitation is actually
that it requires support for "running", ruling out stub-like targets.
Therefore, it should check for use_gdb_stub.

This has no visible effect right now, but it will once we make the
native-gdbserver board non-dejagnu-remote.

gdb/testsuite/ChangeLog:

* gdb.base/solib-display.exp: Check for [use_gdb_stub] instead
of [is_remote target],

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/solib-display.exp

index e3830b6ce0b0402116a2ce7783a97ce26ad38536..e1fdd380bb17096cd70a6078f0b9971029b20d1c 100644 (file)
@@ -1,3 +1,8 @@
+2016-05-04  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdb.base/solib-display.exp: Check for [use_gdb_stub] instead
+       of [is_remote target],
+
 2016-05-04  Simon Marchi  <simon.marchi@ericsson.com>
 
        * lib/gdb.exp (use_gdb_stub): New procedure.
index 7f65617cf53e05911cb342f1c4878971d5a54361..a82ec2e184bc2734bba41b0c1c8785bfc3775ccf 100644 (file)
 # (and thus aren't affected by shared library unloading) are not
 # disabled prematurely.
 
-if { [skip_shlib_tests] || [is_remote target] } {
+if { [skip_shlib_tests] } {
+    return 0
+}
+
+# This test is currently not supported for stub targets, because it uses the
+# start command (through gdb_start_cmd).  In theory, it could be changed to
+# use something else (kill + gdb_run_cmd with a manual breakpoint at main).
+# However, when we try that with the native-gdbserver board, we see that the
+# test fails and gdb outputs this upon connection:
+#
+#   warning: Unable to display "a_global": No symbol "a_global" in current context.
+#   warning: Unable to display "b_global": No symbol "b_global" in current context.
+#   warning: Unable to display "c_global": No symbol "c_global" in current context.
+#
+# This is because the initial stop is done before the shared libraries are
+# loaded.
+
+if { [use_gdb_stub] } {
     return 0
 }