[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gdb-cvs
Subject:    [binutils-gdb] gdb: convert 'set debug lin-lwp' to a boolean command
From:       Andrew Burgess via Gdb-cvs <gdb-cvs () sourceware ! org>
Date:       2021-12-22 15:11:18
Message-ID: 20211222151118.C38203858C2C () sourceware ! org
[Download RAW message or body]

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b6e52a0b3b67d2cc98834c46fb67933252189503

commit b6e52a0b3b67d2cc98834c46fb67933252189503
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Sat Dec 11 10:35:36 2021 +0000

    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.

Diff:
---
 gdb/linux-nat.c | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 20aa4a1322d..59924873915 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, _("\
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic