Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tromey@redhat.com>
Subject: [PATCH 15/16] move remote_stopped_by_watchpoint_p and remote_watch_data_address into remote_state
Date: Fri, 28 Jun 2013 17:40:00 -0000	[thread overview]
Message-ID: <1372441229-305-16-git-send-email-tromey@redhat.com> (raw)
In-Reply-To: <1372441229-305-1-git-send-email-tromey@redhat.com>

This moves the globals remote_stopped_by_watchpoint_p and
remote_watch_data_address into remote_state.

	* remote.c (struct remote_state) <remote_stopped_by_watchpoint_p,
	remote_watch_data_address>: New fields.
	(remote_stopped_by_watchpoint_p, remote_watch_data_address): Remove.
	(process_stop_reply, remote_wait_as)
	(remote_check_watch_resources, remote_stopped_data_address): Update.
---
 gdb/remote.c | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/gdb/remote.c b/gdb/remote.c
index 8641094..56c6f6c 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -410,6 +410,13 @@ struct remote_state
   void (*async_client_callback) (enum inferior_event_type event_type,
 				 void *context);
   void *async_client_context;
+
+  /* This is set to the data address of the access causing the target
+     to stop for a watchpoint.  */
+  CORE_ADDR remote_watch_data_address;
+
+  /* This is non-zero if target stopped for a watchpoint.  */
+  int remote_stopped_by_watchpoint_p;
 };
 
 /* Private data that we'll store in (struct thread_info)->private.  */
@@ -792,17 +799,6 @@ packet_reg_from_pnum (struct remote_arch_state *rsa, LONGEST pnum)
   return NULL;
 }
 
-/* FIXME: graces/2002-08-08: These variables should eventually be
-   bound to an instance of the target object (as in gdbarch-tdep()),
-   when such a thing exists.  */
-
-/* This is set to the data address of the access causing the target
-   to stop for a watchpoint.  */
-static CORE_ADDR remote_watch_data_address;
-
-/* This is non-zero if target stopped for a watchpoint.  */
-static int remote_stopped_by_watchpoint_p;
-
 static struct target_ops remote_ops;
 
 static struct target_ops extended_remote_ops;
@@ -5846,6 +5842,8 @@ process_stop_reply (struct stop_reply *stop_reply,
   if (status->kind != TARGET_WAITKIND_EXITED
       && status->kind != TARGET_WAITKIND_SIGNALLED)
     {
+      struct remote_state *rs = get_remote_state ();
+
       /* Expedited registers.  */
       if (stop_reply->regcache)
 	{
@@ -5861,8 +5859,8 @@ process_stop_reply (struct stop_reply *stop_reply,
 	  VEC_free (cached_reg_t, stop_reply->regcache);
 	}
 
-      remote_stopped_by_watchpoint_p = stop_reply->stopped_by_watchpoint_p;
-      remote_watch_data_address = stop_reply->watch_data_address;
+      rs->remote_stopped_by_watchpoint_p = stop_reply->stopped_by_watchpoint_p;
+      rs->remote_watch_data_address = stop_reply->watch_data_address;
 
       remote_notice_new_inferior (ptid, 0);
       demand_private_info (ptid)->core = stop_reply->core;
@@ -5988,7 +5986,7 @@ remote_wait_as (ptid_t ptid, struct target_waitstatus *status, int options)
 
   buf = rs->buf;
 
-  remote_stopped_by_watchpoint_p = 0;
+  rs->remote_stopped_by_watchpoint_p = 0;
 
   /* We got something.  */
   rs->waiting_for_stop_reply = 0;
@@ -8429,17 +8427,20 @@ remote_check_watch_resources (int type, int cnt, int ot)
 static int
 remote_stopped_by_watchpoint (void)
 {
-  return remote_stopped_by_watchpoint_p;
+  struct remote_state *rs = get_remote_state ();
+
+  return rs->remote_stopped_by_watchpoint_p;
 }
 
 static int
 remote_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
 {
+  struct remote_state *rs = get_remote_state ();
   int rc = 0;
 
   if (remote_stopped_by_watchpoint ())
     {
-      *addr_p = remote_watch_data_address;
+      *addr_p = rs->remote_watch_data_address;
       rc = 1;
     }
 
-- 
1.8.1.4


  parent reply	other threads:[~2013-06-28 17:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28 17:40 [PATCH v2 00/16] Tom Tromey
2013-06-28 17:40 ` [PATCH 13/16] move sizeof_pkt into remote_trace_find Tom Tromey
2013-06-28 17:40 ` [PATCH 10/16] push last_sent_step into struct remote_state Tom Tromey
2013-06-28 17:40 ` [PATCH 12/16] move use_threadinfo_query and use_threadextra_query " Tom Tromey
2013-06-28 17:40 ` [PATCH 01/16] use the libiberty crc code Tom Tromey
2013-06-28 17:40 ` [PATCH 04/16] push remote_desc into struct remote_state Tom Tromey
2013-06-28 17:40 ` [PATCH 11/16] move some statics from remote_read_qxfer " Tom Tromey
2013-07-01 16:07   ` Pedro Alves
2013-07-01 18:06     ` Tom Tromey
2013-06-28 17:40 ` [PATCH 06/16] push remote_traceframe_number " Tom Tromey
2013-06-28 17:40 ` [PATCH 16/16] move some static thread state into remote_state Tom Tromey
2013-06-28 17:40 ` [PATCH 08/16] push last_program_signals_packet into struct remote_state Tom Tromey
2013-06-28 17:40 ` Tom Tromey [this message]
2013-06-28 17:40 ` [PATCH 03/16] Add new_remote_state Tom Tromey
2013-07-01 16:05   ` Pedro Alves
2013-07-01 18:05     ` Tom Tromey
2013-06-28 17:40 ` [PATCH 07/16] push last_pass_packet into struct remote_state Tom Tromey
2013-06-28 17:40 ` [PATCH 05/16] push general_thread and continue_thread " Tom Tromey
2013-06-28 17:40 ` [PATCH 02/16] make remote_protocol_features "const" Tom Tromey
2013-06-28 17:40 ` [PATCH 14/16] move async_client_callback and async_client_context into remote_state Tom Tromey
2013-07-01 16:07   ` Pedro Alves
2013-07-01 18:06     ` Tom Tromey
2013-06-28 17:44 ` [PATCH 09/16] push last_sent_signal into struct remote_state Tom Tromey
2013-07-01 16:07 ` [PATCH v2 00/16] Pedro Alves
  -- strict thread matches above, loose matches on Subject: below --
2013-06-21 17:25 [PATCH 00/16] clean up remote.c state Tom Tromey
2013-06-21 17:25 ` [PATCH 15/16] move remote_stopped_by_watchpoint_p and remote_watch_data_address into remote_state Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1372441229-305-16-git-send-email-tromey@redhat.com \
    --to=tromey@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox