push last_pass_packet into struct remote_state
[deliverable/binutils-gdb.git] / gdb / remote.c
index de74d819d4db5f27bdda63ee12453dfc049e20b3..6c12949634635a328aa4eaa5d47ee43de853834d 100644 (file)
@@ -375,6 +375,8 @@ struct remote_state
   /* This is the traceframe which we last selected on the remote system.
      It will be -1 if no traceframe is selected.  */
   int remote_traceframe_number;
+
+  char *last_pass_packet;
 };
 
 /* Private data that we'll store in (struct thread_info)->private.  */
@@ -1649,8 +1651,6 @@ record_currthread (struct remote_state *rs, ptid_t currthread)
   rs->general_thread = currthread;
 }
 
-static char *last_pass_packet;
-
 /* If 'QPassSignals' is supported, tell the remote stub what signals
    it can simply pass through to the inferior without reporting.  */
 
@@ -1661,6 +1661,7 @@ remote_pass_signals (int numsigs, unsigned char *pass_signals)
     {
       char *pass_packet, *p;
       int count = 0, i;
+      struct remote_state *rs = get_remote_state ();
 
       gdb_assert (numsigs < 256);
       for (i = 0; i < numsigs; i++)
@@ -1686,17 +1687,16 @@ remote_pass_signals (int numsigs, unsigned char *pass_signals)
            }
        }
       *p = 0;
-      if (!last_pass_packet || strcmp (last_pass_packet, pass_packet))
+      if (!rs->last_pass_packet || strcmp (rs->last_pass_packet, pass_packet))
        {
-         struct remote_state *rs = get_remote_state ();
          char *buf = rs->buf;
 
          putpkt (pass_packet);
          getpkt (&rs->buf, &rs->buf_size, 0);
          packet_ok (buf, &remote_protocol_packets[PACKET_QPassSignals]);
-         if (last_pass_packet)
-           xfree (last_pass_packet);
-         last_pass_packet = pass_packet;
+         if (rs->last_pass_packet)
+           xfree (rs->last_pass_packet);
+         rs->last_pass_packet = pass_packet;
        }
       else
        xfree (pass_packet);
@@ -4280,8 +4280,8 @@ remote_open_1 (char *name, int from_tty,
   target_preopen (from_tty);
 
   /* Make sure we send the passed signals list the next time we resume.  */
-  xfree (last_pass_packet);
-  last_pass_packet = NULL;
+  xfree (rs->last_pass_packet);
+  rs->last_pass_packet = NULL;
 
   /* Make sure we send the program signals list the next time we
      resume.  */
This page took 0.025728 seconds and 4 git commands to generate.