aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorChristina Schimpe <christina.schimpe@intel.com>2024-11-26 08:06:37 -0800
committerChristina Schimpe <christina.schimpe@intel.com>2025-01-07 14:05:56 +0000
commita65684f7c4065667a2ace6bffaf6a08951c153bb (patch)
treeea9da9135fb4f1ea69605cd9ad6ed189c412f14d /gdb
parent844afe8d0e5bc95ad48dd46d6adcdc350f598b7d (diff)
downloadgdb-a65684f7c4065667a2ace6bffaf6a08951c153bb.zip
gdb-a65684f7c4065667a2ace6bffaf6a08951c153bb.tar.gz
gdb-a65684f7c4065667a2ace6bffaf6a08951c153bb.tar.bz2
testsuite: adapt to new --debug command line option
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>
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/README24
-rw-r--r--gdb/testsuite/lib/gdbserver-support.exp29
2 files changed, 38 insertions, 15 deletions
diff --git a/gdb/testsuite/README b/gdb/testsuite/README
index 06664d7..c5d4298 100644
--- a/gdb/testsuite/README
+++ b/gdb/testsuite/README
@@ -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
diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp
index 41ad5e6..346c9b9 100644
--- a/gdb/testsuite/lib/gdbserver-support.exp
+++ b/gdb/testsuite/lib/gdbserver-support.exp
@@ -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 {