aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-11-30 16:05:16 +0000
committerPedro Alves <palves@redhat.com>2015-11-30 18:37:31 +0000
commit799a2abe613be0645b84f5aaa050f2f91e6ae3f7 (patch)
tree403ea876b72cc8d2142181226306aa0a9cf36372 /gdb/ChangeLog
parent34c6591498f4363ef2c71d683cdaaa33d6a6ad64 (diff)
downloadgdb-799a2abe613be0645b84f5aaa050f2f91e6ae3f7.zip
gdb-799a2abe613be0645b84f5aaa050f2f91e6ae3f7.tar.gz
gdb-799a2abe613be0645b84f5aaa050f2f91e6ae3f7.tar.bz2
remote: stop reason and watchpoint data address per thread
Running local-watch-wrong-thread.exp with "maint set target-non-stop on" exposes that gdb/remote.c only records whether the target stopped for a breakpoint/watchpoint plus the watchpoint data address *for the last reported remote event*. But in non-stop mode, we need to keep that info per-thread, as each thread can end up with its own last-status pending. gdb/ChangeLog: 2015-11-30 Pedro Alves <palves@redhat.com> * remote.c (struct remote_state) <remote_watch_data_address, stop_reason>: Delete fields. (struct private_thread_info) <stop_reason, watch_data_address>: New fields. (resume_clear_thread_private_info): New function. (append_pending_thread_resumptions): Call it. (remote_resume): Clear all threads' private info. (process_stop_reply): Adjust. (remote_wait_as): Don't reference remote_state's stop_reason field. (remote_stopped_by_sw_breakpoint) (remote_stopped_by_hw_breakpoint, remote_stopped_by_watchpoint) (remote_stopped_data_address): Adjust to refer get data from the current thread.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog17
1 files changed, 17 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3e10e2b..a0eff91 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,22 @@
2015-11-30 Pedro Alves <palves@redhat.com>
+ * remote.c (struct remote_state) <remote_watch_data_address,
+ stop_reason>: Delete fields.
+ (struct private_thread_info) <stop_reason, watch_data_address>:
+ New fields.
+ (resume_clear_thread_private_info): New function.
+ (append_pending_thread_resumptions): Call it.
+ (remote_resume): Clear all threads' private info.
+ (process_stop_reply): Adjust.
+ (remote_wait_as): Don't reference remote_state's stop_reason
+ field.
+ (remote_stopped_by_sw_breakpoint)
+ (remote_stopped_by_hw_breakpoint, remote_stopped_by_watchpoint)
+ (remote_stopped_data_address): Adjust to refer get data from the
+ current thread.
+
+2015-11-30 Pedro Alves <palves@redhat.com>
+
* infcmd.c (attach_post_wait): If the target is always in non-stop
mode, and the UI is in all-stop mode, stop all threads and pick
the one with lowest number as current.