]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
testsuite: adapt to new --debug command line option
authorChristina Schimpe <christina.schimpe@intel.com>
Tue, 26 Nov 2024 16:06:37 +0000 (08:06 -0800)
committerChristina Schimpe <christina.schimpe@intel.com>
Tue, 7 Jan 2025 14:05:56 +0000 (14:05 +0000)
Since commit "gdbserver: allow the --debug command line option to take a
value", gdbserver no longer supports
  --debug
  --remote-debug
  --event-loop-debug.

Instead, --debug now takes a comma separated list of components.

The make check parameter GDBSERVER_DEBUG doesn't support these changes
yet.  This patch fixes this, by adding the --debug gdbserver arguments,
as "debug-threads", "debug-remote", "debug-event-loop" or "debug-all" for
GDBSERVER_DEBUG.  Replay logging is still enabled by adding the
"replay" GDBSERVER_DEBUG argument.  We can also configure "all" to
enable all of the available options.

Now, for instance, we can use it as follows:

make check GDBSERVER_DEBUG="debug-remote,debug-event-loop,replay" RUNTESTFLAGS="--target_board=native-gdbserver" TESTS="gdb.trace/ftrace.exp"

or simply

make check GDBSERVER_DEBUG="all" RUNTESTFLAGS="--target_board=native-gdbserver" TESTS="gdb.trace/ftrace.exp"

to enable all debug options.

Approved-By: Tom Tromey <tom@tromey.com>
gdb/testsuite/README
gdb/testsuite/lib/gdbserver-support.exp

index 06664d723e7902a22fc9a0e63627e2780fae8d22..c5d429820048560d07bd38a1a3708dea2c43210d 100644 (file)
@@ -319,14 +319,28 @@ GDBSERVER_DEBUG
 
 When set gdbserver debug is sent to the a file in the test output directory.
 It should be set to a comma separated list of the following options:
-       debug  - write gdbserver debug to gdbserver.debug.
-       remote - write gdbserver remote debug to gdbserver.debug.
+       debug-all - write gdbserver debug for threads remote and event-loop.
+       debug-threads - write gdbserver threads debug to gdbserver.debug.
+       debug-remote - write gdbserver remote debug to gdbserver.debug.
+       debug-event-loop - write gdbserver event-loog debug to gdbserver.debug.
        replay - write a replay log to the file gdbserver.replay for use
                 with gdbreplay.
-Alternatively, it can be set to "all" to turn on all the above
-For example, to turn on gdbserver debugging, you can do:
+Alternatively, it can be set to "all" to turn on all the above, e.g.:
 
-       make check GDBSERVER_DEBUG="debug,replay"
+       make check GDBSERVER_DEBUG="all"
+
+To turn on all --debug gdbserver parameter options but without replay logging,
+use the following:
+
+       make check GDBSERVER_DEBUG="debug-all"
+
+To turn on gdbserver debugging for all remote debug and replay logging,
+you can do:
+
+       make check GDBSERVER_DEBUG="debug-remote, replay"
+
+Note that the GDBSERVER_DEBUG options are not equivalent to the gdbserver
+parameter options of "--debug", as also the replay logging is supported.
 
 GDB_TARGET_USERNAME
 GDB_HOST_USERNAME
index 41ad5e6cbfb137ca2e7bd5bd969f3e6bc8349178..346c9b93951d1bc4ab709cc3765c4b502a3ec1c8 100644 (file)
@@ -367,12 +367,26 @@ proc gdbserver_start { options arguments } {
            set enabled 0
            foreach entry [split $gdbserverdebug ,] {
              switch -- $entry {
-               "debug" {
-                 append gdbserver_command " --debug"
+               "debug-all" {
+                 append gdbserver_command " --debug=all"
                  set enabled 1
                }
-               "remote" {
-                 append gdbserver_command " --remote-debug"
+               "all" {
+                 # Different from the debug-all option, all argument sets
+                 # the replay log file.  See gdb_debug_init.
+                 append gdbserver_command " --debug=all"
+                 set enabled 1
+               }
+               "debug-threads" {
+                 append gdbserver_command " --debug=threads"
+                 set enabled 1
+               }
+               "debug-remote" {
+                 append gdbserver_command " --debug=remote"
+                 set enabled 1
+               }
+               "debug-event-loop" {
+                 append gdbserver_command " --debug=event-loop"
                  set enabled 1
                }
              }
@@ -707,11 +721,6 @@ proc gdbserver_debug_enabled { } {
        }
     }
 
-    # Expand the all option
-    if { $gdbserverdebug == "all" } {
-      set gdbserverdebug "debug,remote,replay"
-    }
-
     # Ensure it is not empty.
     return [expr { $gdbserverdebug != "" }]
 }
@@ -736,7 +745,7 @@ proc gdb_debug_init { } {
 
     if [gdbserver_debug_enabled] {
       foreach entry [split $gdbserverdebug ,] {
-       if { $entry == "replay" } {
+       if { $entry == "replay" || $entry == "all"} {
          set replayfile [standard_output_file_with_gdb_instance gdbserver.replay]
           send_gdb "set remotelogfile $replayfile\n" optional
          gdb_expect 10 {