push last_program_signals_packet into struct remote_state
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.
This commit is contained in:
parent
747dc59d20
commit
5e4a05c431
2 changed files with 20 additions and 14 deletions
|
@ -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>:
|
||||
|
|
27
gdb/remote.c
27
gdb/remote.c
|
@ -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 ();
|
||||
|
|
Loading…
Reference in a new issue