mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 12:03:41 +08:00
2011-07-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* remote.c (remote_region_ok_for_hw_watchpoint): New function. (remote_hw_watchpoint_length_limit): New variable. (_initialize_remote) add set,show cmds for this new variable. * gdb.texinfo: document these new commands. * NEWS: Mention these new commands.
This commit is contained in:
parent
efa80663c6
commit
480a3f21c0
@ -1,3 +1,11 @@
|
||||
2011-07-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
||||
|
||||
* remote.c (remote_region_ok_for_hw_watchpoint): New function.
|
||||
(remote_hw_watchpoint_length_limit): New variable.
|
||||
(_initialize_remote) add set,show cmds for this new variable.
|
||||
* gdb.texinfo: document these new commands.
|
||||
* NEWS: Mention these new commands.
|
||||
|
||||
2011-07-26 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* breakpoint.c (works_in_software_mode_watchpoint): Also return
|
||||
|
10
gdb/NEWS
10
gdb/NEWS
@ -3,6 +3,16 @@
|
||||
|
||||
*** Changes since GDB 7.3
|
||||
|
||||
* GDB has two new commands: "set remote hardware-watchpoint-length-limit"
|
||||
and "show remote hardware-watchpoint-length-limit". These allows to
|
||||
set or show the maximum length limit (in bytes) of a remote
|
||||
target hardware watchpoint.
|
||||
|
||||
This allows e.g. to use "unlimited" hardware watchpoints with the
|
||||
gdbserver integrated in Valgrind version >= 3.7.0. Such Valgrind
|
||||
watchpoints are slower than real hardware watchpoints but are
|
||||
significantly faster than gdb software watchpoints.
|
||||
|
||||
* Python scripting
|
||||
|
||||
** The "maint set python print-stack on|off" command has been
|
||||
|
@ -16655,6 +16655,18 @@ responses.
|
||||
Restrict @value{GDBN} to using @var{limit} remote hardware breakpoint or
|
||||
watchpoints. A limit of -1, the default, is treated as unlimited.
|
||||
|
||||
@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.
|
||||
|
||||
@item show remote hardware-watchpoint-length-limit
|
||||
Show the current limit (in bytes) of the maximum length of
|
||||
a remote hardware watchpoint.
|
||||
|
||||
@item set remote exec-file @var{filename}
|
||||
@itemx show remote exec-file
|
||||
@anchor{set remote exec-file}
|
||||
|
25
gdb/remote.c
25
gdb/remote.c
@ -7763,8 +7763,22 @@ remote_remove_watchpoint (CORE_ADDR addr, int len, int type,
|
||||
|
||||
|
||||
int remote_hw_watchpoint_limit = -1;
|
||||
int remote_hw_watchpoint_length_limit = -1;
|
||||
int remote_hw_breakpoint_limit = -1;
|
||||
|
||||
static int
|
||||
remote_region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
|
||||
{
|
||||
if (remote_hw_watchpoint_length_limit == 0)
|
||||
return 0;
|
||||
else if (remote_hw_watchpoint_length_limit < 0)
|
||||
return 1;
|
||||
else if (len <= remote_hw_watchpoint_length_limit)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
remote_check_watch_resources (int type, int cnt, int ot)
|
||||
{
|
||||
@ -10356,6 +10370,8 @@ Specify the serial device it is connected to\n\
|
||||
remote_ops.to_can_use_hw_breakpoint = remote_check_watch_resources;
|
||||
remote_ops.to_insert_hw_breakpoint = remote_insert_hw_breakpoint;
|
||||
remote_ops.to_remove_hw_breakpoint = remote_remove_hw_breakpoint;
|
||||
remote_ops.to_region_ok_for_hw_watchpoint
|
||||
= remote_region_ok_for_hw_watchpoint;
|
||||
remote_ops.to_insert_watchpoint = remote_insert_watchpoint;
|
||||
remote_ops.to_remove_watchpoint = remote_remove_watchpoint;
|
||||
remote_ops.to_kill = remote_kill;
|
||||
@ -10751,6 +10767,15 @@ Specify a negative limit for unlimited."),
|
||||
number of target hardware
|
||||
watchpoints is %s. */
|
||||
&remote_set_cmdlist, &remote_show_cmdlist);
|
||||
add_setshow_zinteger_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. */
|
||||
&remote_set_cmdlist, &remote_show_cmdlist);
|
||||
add_setshow_zinteger_cmd ("hardware-breakpoint-limit", no_class,
|
||||
&remote_hw_breakpoint_limit, _("\
|
||||
Set the maximum number of target hardware breakpoints."), _("\
|
||||
|
Loading…
Reference in New Issue
Block a user