diff options
author | Pedro Alves <palves@redhat.com> | 2009-11-22 15:38:59 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-11-22 15:38:59 +0000 |
commit | 9093389c0fbe371727b8725a3036c113bed015f0 (patch) | |
tree | c34658207a27617a1ae8c924803f5e3c8e6b4939 /gdb/breakpoint.h | |
parent | 815368956efb53c3abb890e00886a8866dd7adf9 (diff) | |
download | gdb-9093389c0fbe371727b8725a3036c113bed015f0.zip gdb-9093389c0fbe371727b8725a3036c113bed015f0.tar.gz gdb-9093389c0fbe371727b8725a3036c113bed015f0.tar.bz2 |
Make hardware watchpoints work for process record.
* breakpoint.c (hardware_watchpoint_inserted_in_range): New.
* breakpoint.h (hardware_watchpoint_inserted_in_range): Declare.
* record.c (record_beneath_to_stopped_by_watchpoint)
(record_beneath_to_stopped_data_address, record_hw_watchpoint):
New globals.
(record_exec_insn): Check for watchpoint hits.
(tmp_to_stopped_by_watchpoint, tmp_to_stopped_data_address): New
globals.
(record_open): Set tmp_to_stopped_by_watchpoint,
tmp_to_stopped_data_address,
record_beneath_to_stopped_by_watchpoint and
record_beneath_to_stopped_data_address.
(record_wait): Report watchpoint hits to the core. Update and
extend comments.
(record_stopped_by_watchpoint): New.
(record_stopped_data_address): New.
(init_record_ops): Install them.
(init_record_core_ops): Ditto.
Diffstat (limited to 'gdb/breakpoint.h')
-rw-r--r-- | gdb/breakpoint.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 6587407..5ebd36c 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -736,6 +736,12 @@ extern int regular_breakpoint_inserted_here_p (struct address_space *, CORE_ADDR extern int software_breakpoint_inserted_here_p (struct address_space *, CORE_ADDR); +/* Returns true if there's a hardware watchpoint or access watchpoint + inserted in the range defined by ADDR and LEN. */ +extern int hardware_watchpoint_inserted_in_range (struct address_space *, + CORE_ADDR addr, + ULONGEST len); + extern int breakpoint_thread_match (struct address_space *, CORE_ADDR, ptid_t); extern void until_break_command (char *, int, int); |