push last_program_signals_packet into struct remote_state
authorTom Tromey <tromey@redhat.com>
Wed, 14 Aug 2013 18:05:51 +0000 (18:05 +0000)
committerTom Tromey <tromey@redhat.com>
Wed, 14 Aug 2013 18:05:51 +0000 (18:05 +0000)
This moves the global last_program_signals_packet into remote_state.

* remote.c (struct remote_state) <last_program_signals_packet>:
New field.
(last_program_signals_packet): Remove.
(remote_program_signals, remote_open_1): Update.

gdb/ChangeLog
gdb/remote.c

index 1489d2821d87803ab36bfc8d33c2626eda7dee4c..5252078e7b1172e532d6297bc51769784fd04367 100644 (file)
@@ -1,3 +1,10 @@
+2013-08-14  Tom Tromey  <tromey@redhat.com>
+
+       * remote.c (struct remote_state) <last_program_signals_packet>:
+       New field.
+       (last_program_signals_packet): Remove.
+       (remote_program_signals, remote_open_1): Update.
+
 2013-08-14  Tom Tromey  <tromey@redhat.com>
 
        * remote.c (struct remote_state) <last_pass_packet>:
index 6c12949634635a328aa4eaa5d47ee43de853834d..ad32e76988e0087f759668ecf43f537a9f64d512 100644 (file)
@@ -377,6 +377,12 @@ struct remote_state
   int remote_traceframe_number;
 
   char *last_pass_packet;
+
+  /* The last QProgramSignals packet sent to the target.  We bypass
+     sending a new program signals list down to the target if the new
+     packet is exactly the same as the last we sent.  IOW, we only let
+     the target know about program signals list changes.  */
+  char *last_program_signals_packet;
 };
 
 /* Private data that we'll store in (struct thread_info)->private.  */
@@ -1703,13 +1709,6 @@ remote_pass_signals (int numsigs, unsigned char *pass_signals)
     }
 }
 
-/* The last QProgramSignals packet sent to the target.  We bypass
-   sending a new program signals list down to the target if the new
-   packet is exactly the same as the last we sent.  IOW, we only let
-   the target know about program signals list changes.  */
-
-static char *last_program_signals_packet;
-
 /* If 'QProgramSignals' is supported, tell the remote stub what
    signals it should pass through to the inferior when detaching.  */
 
@@ -1720,6 +1719,7 @@ remote_program_signals (int numsigs, unsigned char *signals)
     {
       char *packet, *p;
       int count = 0, i;
+      struct remote_state *rs = get_remote_state ();
 
       gdb_assert (numsigs < 256);
       for (i = 0; i < numsigs; i++)
@@ -1745,17 +1745,16 @@ remote_program_signals (int numsigs, unsigned char *signals)
            }
        }
       *p = 0;
-      if (!last_program_signals_packet
-         || strcmp (last_program_signals_packet, packet) != 0)
+      if (!rs->last_program_signals_packet
+         || strcmp (rs->last_program_signals_packet, packet) != 0)
        {
-         struct remote_state *rs = get_remote_state ();
          char *buf = rs->buf;
 
          putpkt (packet);
          getpkt (&rs->buf, &rs->buf_size, 0);
          packet_ok (buf, &remote_protocol_packets[PACKET_QProgramSignals]);
-         xfree (last_program_signals_packet);
-         last_program_signals_packet = packet;
+         xfree (rs->last_program_signals_packet);
+         rs->last_program_signals_packet = packet;
        }
       else
        xfree (packet);
@@ -4285,8 +4284,8 @@ remote_open_1 (char *name, int from_tty,
 
   /* Make sure we send the program signals list the next time we
      resume.  */
-  xfree (last_program_signals_packet);
-  last_program_signals_packet = NULL;
+  xfree (rs->last_program_signals_packet);
+  rs->last_program_signals_packet = NULL;
 
   remote_fileio_reset ();
   reopen_exec_file ();
This page took 0.034243 seconds and 4 git commands to generate.