aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2021-12-11 10:35:36 +0000
committerAndrew Burgess <aburgess@redhat.com>2021-12-22 15:05:25 +0000
commitb6e52a0b3b67d2cc98834c46fb67933252189503 (patch)
treeeaa15ebcfa17707b38e235f3d423011248194237 /gdb
parent5b0a3d62423236100bac1e77f7cc084ad9ce0271 (diff)
downloadfsf-binutils-gdb-b6e52a0b3b67d2cc98834c46fb67933252189503.zip
fsf-binutils-gdb-b6e52a0b3b67d2cc98834c46fb67933252189503.tar.gz
fsf-binutils-gdb-b6e52a0b3b67d2cc98834c46fb67933252189503.tar.bz2
gdb: convert 'set debug lin-lwp' to a boolean command
Convert the 'set debug lin-lwp' command to a boolean. Adds a new LINUX_NAT_SCOPED_DEBUG_ENTER_EXIT macro, and makes use of it in one place (linux_nat_target::stop). The manual entry for 'set debug lin-lwp' is already vague about exactly what arguments this command takes, and the description talks about turning debug on and off, so I don't think there's any updates required there. I have updated the doc strings shown when the users enters 'help show debug lin-lwp' or 'help show debug lin-lwp'. The old title lines used to talk about the 'GNU/Linux lwp module', but this debug flag is now used for any native linux target debug, so we now talk about 'GNU/Linux native target'. The body string for this setting has been changed from 'Enables printf debugging output.' to 'When on, print debug messages relating to the GNU/Linux native target.', the old value looks like a cut&paste error to me.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/linux-nat.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 20aa4a1..5992487 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -191,7 +191,12 @@ struct linux_nat_target *linux_target;
/* Does the current host support PTRACE_GETREGSET? */
enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN;
-static unsigned int debug_linux_nat;
+/* When true, print debug messages relating to the linux native target. */
+
+static bool debug_linux_nat;
+
+/* Implement 'show debug lin-lwp'. */
+
static void
show_debug_linux_nat (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
@@ -205,6 +210,11 @@ show_debug_linux_nat (struct ui_file *file, int from_tty,
#define linux_nat_debug_printf(fmt, ...) \
debug_prefixed_printf_cond (debug_linux_nat, "linux-nat", fmt, ##__VA_ARGS__)
+/* Print "linux-nat" enter/exit debug statements. */
+
+#define LINUX_NAT_SCOPED_DEBUG_ENTER_EXIT \
+ scoped_debug_enter_exit (debug_linux_nat, "linux-nat")
+
struct simple_pid_list
{
int pid;
@@ -4318,6 +4328,7 @@ linux_nat_stop_lwp (struct lwp_info *lwp)
void
linux_nat_target::stop (ptid_t ptid)
{
+ LINUX_NAT_SCOPED_DEBUG_ENTER_EXIT;
iterate_over_lwps (ptid, linux_nat_stop_lwp);
}
@@ -4518,14 +4529,14 @@ void _initialize_linux_nat ();
void
_initialize_linux_nat ()
{
- add_setshow_zuinteger_cmd ("lin-lwp", class_maintenance,
- &debug_linux_nat, _("\
-Set debugging of GNU/Linux lwp module."), _("\
-Show debugging of GNU/Linux lwp module."), _("\
-Enables printf debugging output."),
- NULL,
- show_debug_linux_nat,
- &setdebuglist, &showdebuglist);
+ add_setshow_boolean_cmd ("lin-lwp", class_maintenance,
+ &debug_linux_nat, _("\
+Set debugging of GNU/Linux native target."), _(" \
+Show debugging of GNU/Linux native target."), _(" \
+When on, print debug messages relating to the GNU/Linux native target."),
+ nullptr,
+ show_debug_linux_nat,
+ &setdebuglist, &showdebuglist);
add_setshow_boolean_cmd ("linux-namespaces", class_maintenance,
&debug_linux_namespaces, _("\