diff options
author | Tom Tromey <tromey@redhat.com> | 2013-08-14 18:08:48 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-08-14 18:08:48 +0000 |
commit | 8e88304f57fc78c8166fc8660885593fc6d14cd5 (patch) | |
tree | 3c9663fcfbb217989e4e5ed83f205fb2bc08ee4e | |
parent | 280ceea3097a78df559b4709ed8775d81e159b57 (diff) | |
download | gdb-8e88304f57fc78c8166fc8660885593fc6d14cd5.zip gdb-8e88304f57fc78c8166fc8660885593fc6d14cd5.tar.gz gdb-8e88304f57fc78c8166fc8660885593fc6d14cd5.tar.bz2 |
move some statics from remote_read_qxfer into struct remote_state
This moves a few static variables out of remote_read_qxfer and into
remote_state.
* remote.c (struct remote_state) <finished_object,
finished_annex, finished_offset>: New fields.
(remote_read_qxfer): Use remote_state fields; remove static
variables.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/remote.c | 30 |
2 files changed, 22 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a881236..0a7ff9e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2013-08-14 Tom Tromey <tromey@redhat.com> + * remote.c (struct remote_state) <finished_object, + finished_annex, finished_offset>: New fields. + (remote_read_qxfer): Use remote_state fields; remove static + variables. + +2013-08-14 Tom Tromey <tromey@redhat.com> + * remote.c (struct remote_state) <last_sent_step>: New field. (last_sent_step): Remove. diff --git a/gdb/remote.c b/gdb/remote.c index 33fc8ec..ccc87b3 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -387,6 +387,10 @@ struct remote_state enum gdb_signal last_sent_signal; int last_sent_step; + + char *finished_object; + char *finished_annex; + ULONGEST finished_offset; }; /* Private data that we'll store in (struct thread_info)->private. */ @@ -8701,10 +8705,6 @@ remote_read_qxfer (struct target_ops *ops, const char *object_name, gdb_byte *readbuf, ULONGEST offset, LONGEST len, struct packet_config *packet) { - static char *finished_object; - static char *finished_annex; - static ULONGEST finished_offset; - struct remote_state *rs = get_remote_state (); LONGEST i, n, packet_len; @@ -8713,19 +8713,19 @@ remote_read_qxfer (struct target_ops *ops, const char *object_name, /* Check whether we've cached an end-of-object packet that matches this request. */ - if (finished_object) + if (rs->finished_object) { - if (strcmp (object_name, finished_object) == 0 - && strcmp (annex ? annex : "", finished_annex) == 0 - && offset == finished_offset) + if (strcmp (object_name, rs->finished_object) == 0 + && strcmp (annex ? annex : "", rs->finished_annex) == 0 + && offset == rs->finished_offset) return 0; /* Otherwise, we're now reading something different. Discard the cache. */ - xfree (finished_object); - xfree (finished_annex); - finished_object = NULL; - finished_annex = NULL; + xfree (rs->finished_object); + xfree (rs->finished_annex); + rs->finished_object = NULL; + rs->finished_annex = NULL; } /* Request only enough to fit in a single packet. The actual data @@ -8764,9 +8764,9 @@ remote_read_qxfer (struct target_ops *ops, const char *object_name, object, record this fact to bypass a subsequent partial read. */ if (rs->buf[0] == 'l' && offset + i > 0) { - finished_object = xstrdup (object_name); - finished_annex = xstrdup (annex ? annex : ""); - finished_offset = offset + i; + rs->finished_object = xstrdup (object_name); + rs->finished_annex = xstrdup (annex ? annex : ""); + rs->finished_offset = offset + i; } return i; |