diff options
author | Pedro Alves <palves@redhat.com> | 2010-03-14 18:46:40 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2010-03-14 18:46:40 +0000 |
commit | c3adc08c6f4fb5f67d49946d4c45e50b842b1d83 (patch) | |
tree | 0b8f77bb139aa7efba2a5e48576cde8eee98721d /gdb/gdbserver/linux-low.h | |
parent | 51f4c0b08eed762435b7aa6c1784ade7ab20165c (diff) | |
download | gdb-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.h | 10 |
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; |