This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] gdb: Use add_setshow_zuinteger_unlimited_cmd in remote.c


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

commit 055303e28f70880f7b2c3e44df0ba7646fc85cf8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Mon Jul 2 22:28:22 2018 +0100

    gdb: Use add_setshow_zuinteger_unlimited_cmd in remote.c
    
    Switch to use add_setshow_zuinteger_unlimited_cmd for some of the
    control variables in remote.c.  The variables
    hardware-watchpoint-limit, hardware-breakpoint-limit, and
    hardware-watchpoint-length-limit are all changed.  For example, a user
    will now see this:
    
        (gdb) show remote hardware-breakpoint-limit
        The maximum number of target hardware breakpoints is unlimited.
    
    Instead of this:
    
        (gdb) show remote hardware-breakpoint-limit
        The maximum number of target hardware breakpoints is -1.
    
    And can do this:
    
        (gdb) set remote hardware-breakpoint-limit unlimited
    
    However, previously any negative value implied "unlimited", now only
    -1, or the text "unlimited" can be used for unlimited.  Any other
    negative value will give an error about invalid input.  This is a
    small change in the user interface, but, hopefully, this will not
    cause too many problems.
    
    I've also added show functions for these three variables to allow for
    internationalisation.
    
    gdb/ChangeLog:
    
    	* remote.c (show_hardware_watchpoint_limit): New function.
    	(show_hardware_watchpoint_length_limit): New function.
    	(show_hardware_breakpoint_limit): New function.
    	(_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
    	where appropriate, update help text.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Remote Configuration): Update descriptions for
    	set/show of hardware-watchpoint-limit, hardware-breakpoint-limit,
    	and hardware-watchpoint-length-limit variables.

Diff:
---
 gdb/ChangeLog       |  8 +++++++
 gdb/doc/ChangeLog   |  6 ++++++
 gdb/doc/gdb.texinfo | 18 +++++++++++-----
 gdb/remote.c        | 61 +++++++++++++++++++++++++++++++++++++++--------------
 4 files changed, 72 insertions(+), 21 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 70b4d44..25aded3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* remote.c (show_hardware_watchpoint_limit): New function.
+	(show_hardware_watchpoint_length_limit): New function.
+	(show_hardware_breakpoint_limit): New function.
+	(_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
+	where appropriate, update help text.
+
 2018-07-09  Tom Tromey  <tom@tromey.com>
 
 	* Makefile.in (CDEPS): Don't mention XM_CDEPS.
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index fbdab9b..adb97a5 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,9 @@
+2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.texinfo (Remote Configuration): Update descriptions for
+	set/show of hardware-watchpoint-limit, hardware-breakpoint-limit,
+	and hardware-watchpoint-length-limit variables.
+
 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
 
 	PR tdep/8282
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 91ec219..245d3f1 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -21161,16 +21161,24 @@ responses.
 @anchor{set remote hardware-breakpoint-limit}
 @item set remote hardware-watchpoint-limit @var{limit}
 @itemx set remote hardware-breakpoint-limit @var{limit}
-Restrict @value{GDBN} to using @var{limit} remote hardware breakpoint or
-watchpoints.  A limit of -1, the default, is treated as unlimited.
+Restrict @value{GDBN} to using @var{limit} remote hardware watchpoints
+or breakpoints.  The @var{limit} can be set to 0 to disable hardware
+watchpoints or breakpoints, and @code{unlimited} for unlimited
+watchpoints or breakpoints.
+
+@item show remote hardware-watchpoint-limit
+@itemx show remote hardware-breakpoint-limit
+Show the current limit for the number of hardware watchpoints or
+breakpoints that @value{GDBN} can use.
 
 @cindex limit hardware watchpoints length
 @cindex remote target, limit watchpoints length
 @anchor{set remote hardware-watchpoint-length-limit}
 @item set remote hardware-watchpoint-length-limit @var{limit}
-Restrict @value{GDBN} to using @var{limit} bytes for the maximum length of
-a remote hardware watchpoint.  A limit of -1, the default, is treated
-as unlimited.
+Restrict @value{GDBN} to using @var{limit} bytes for the maximum
+length of a remote hardware watchpoint.  A @var{limit} of 0 disables
+hardware watchpoints and @code{unlimited} allows watchpoints of any
+length.
 
 @item show remote hardware-watchpoint-length-limit
 Show the current limit (in bytes) of the maximum length of
diff --git a/gdb/remote.c b/gdb/remote.c
index d5accc6..297c198 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -1728,6 +1728,39 @@ show_memory_write_packet_size (const char *args, int from_tty)
   show_memory_packet_size (&memory_write_packet_config);
 }
 
+/* Show the number of hardware watchpoints that can be used.  */
+
+static void
+show_hardware_watchpoint_limit (struct ui_file *file, int from_tty,
+				struct cmd_list_element *c,
+				const char *value)
+{
+  fprintf_filtered (file, _("The maximum number of target hardware "
+			    "watchpoints is %s.\n"), value);
+}
+
+/* Show the length limit (in bytes) for hardware watchpoints.  */
+
+static void
+show_hardware_watchpoint_length_limit (struct ui_file *file, int from_tty,
+				       struct cmd_list_element *c,
+				       const char *value)
+{
+  fprintf_filtered (file, _("The maximum length (in bytes) of a target "
+			    "hardware watchpoint is %s.\n"), value);
+}
+
+/* Show the number of hardware breakpoints that can be used.  */
+
+static void
+show_hardware_breakpoint_limit (struct ui_file *file, int from_tty,
+				struct cmd_list_element *c,
+				const char *value)
+{
+  fprintf_filtered (file, _("The maximum number of target hardware "
+			    "breakpoints is %s.\n"), value);
+}
+
 long
 remote_target::get_memory_write_packet_size ()
 {
@@ -14347,32 +14380,28 @@ further restriction and ``limit'' to enable that restriction."),
 	   _("Show the maximum number of bytes per memory-read packet."),
 	   &remote_show_cmdlist);
 
-  add_setshow_zinteger_cmd ("hardware-watchpoint-limit", no_class,
+  add_setshow_zuinteger_unlimited_cmd ("hardware-watchpoint-limit", no_class,
 			    &remote_hw_watchpoint_limit, _("\
 Set the maximum number of target hardware watchpoints."), _("\
 Show the maximum number of target hardware watchpoints."), _("\
-Specify a negative limit for unlimited."),
-			    NULL, NULL, /* FIXME: i18n: The maximum
-					   number of target hardware
-					   watchpoints is %s.  */
-			    &remote_set_cmdlist, &remote_show_cmdlist);
-  add_setshow_zinteger_cmd ("hardware-watchpoint-length-limit", no_class,
+Specify \"unlimited\" for unlimited hardware watchpoints."),
+			    NULL, show_hardware_watchpoint_limit,
+			    &remote_set_cmdlist,
+			    &remote_show_cmdlist);
+  add_setshow_zuinteger_unlimited_cmd ("hardware-watchpoint-length-limit",
+			    no_class,
 			    &remote_hw_watchpoint_length_limit, _("\
 Set the maximum length (in bytes) of a target hardware watchpoint."), _("\
 Show the maximum length (in bytes) of a target hardware watchpoint."), _("\
-Specify a negative limit for unlimited."),
-			    NULL, NULL, /* FIXME: i18n: The maximum
-                                           length (in bytes) of a target
-                                           hardware watchpoint is %s.  */
+Specify \"unlimited\" to allow watchpoints of unlimited size."),
+			    NULL, show_hardware_watchpoint_length_limit,
 			    &remote_set_cmdlist, &remote_show_cmdlist);
-  add_setshow_zinteger_cmd ("hardware-breakpoint-limit", no_class,
+  add_setshow_zuinteger_unlimited_cmd ("hardware-breakpoint-limit", no_class,
 			    &remote_hw_breakpoint_limit, _("\
 Set the maximum number of target hardware breakpoints."), _("\
 Show the maximum number of target hardware breakpoints."), _("\
-Specify a negative limit for unlimited."),
-			    NULL, NULL, /* FIXME: i18n: The maximum
-					   number of target hardware
-					   breakpoints is %s.  */
+Specify \"unlimited\" for unlimited hardware breakpoints."),
+			    NULL, show_hardware_breakpoint_limit,
 			    &remote_set_cmdlist, &remote_show_cmdlist);
 
   add_setshow_zuinteger_cmd ("remoteaddresssize", class_obscure,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]