aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/linux-low.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2010-03-14 18:46:40 +0000
committerPedro Alves <palves@redhat.com>2010-03-14 18:46:40 +0000
commitc3adc08c6f4fb5f67d49946d4c45e50b842b1d83 (patch)
tree0b8f77bb139aa7efba2a5e48576cde8eee98721d /gdb/gdbserver/linux-low.h
parent51f4c0b08eed762435b7aa6c1784ade7ab20165c (diff)
downloadgdb-c3adc08c6f4fb5f67d49946d4c45e50b842b1d83.zip
gdb-c3adc08c6f4fb5f67d49946d4c45e50b842b1d83.tar.gz
gdb-c3adc08c6f4fb5f67d49946d4c45e50b842b1d83.tar.bz2
* linux-low.h (struct lwp_info): New fields
`stopped_by_watchpoint' and `stopped_data_address'. * linux-low.c (linux_wait_for_lwp): Check for watchpoint triggers here, and cache them in the lwp object. (wait_for_sigstop): Check stopped_by_watchpoint lwp field directly. (linux_resume_one_lwp): Clear the lwp's stopped_by_watchpoint field. (linux_stopped_by_watchpoint): Rewrite. (linux_stopped_data_address): Rewrite.
Diffstat (limited to 'gdb/gdbserver/linux-low.h')
-rw-r--r--gdb/gdbserver/linux-low.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h
index 82ad00c..82f29d8 100644
--- a/gdb/gdbserver/linux-low.h
+++ b/gdb/gdbserver/linux-low.h
@@ -161,6 +161,16 @@ struct lwp_info
int pending_is_breakpoint;
CORE_ADDR pending_stop_pc;
+ /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
+ watchpoint trap. */
+ int stopped_by_watchpoint;
+
+ /* On architectures where it is possible to know the data address of
+ a triggered watchpoint, STOPPED_DATA_ADDRESS is non-zero, and
+ contains such data address. Only valid if STOPPED_BY_WATCHPOINT
+ is true. */
+ CORE_ADDR stopped_data_address;
+
/* If this is non-zero, it is a breakpoint to be reinserted at our next
stop (SIGTRAP stops only). */
CORE_ADDR bp_reinsert;