From 747dc59d2094de0220383e4ef5e9be9ad72cbe8d Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 14 Aug 2013 18:04:52 +0000 Subject: [PATCH] push last_pass_packet into struct remote_state This moves the global last_pass_packet into remote_state. * remote.c (struct remote_state) : New field. (last_pass_packet): Remove. (remote_pass_signals, remote_open_1): Update. --- gdb/ChangeLog | 7 +++++++ gdb/remote.c | 18 +++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 50d1495cce..1489d2821d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2013-08-14 Tom Tromey + + * remote.c (struct remote_state) : + New field. + (last_pass_packet): Remove. + (remote_pass_signals, remote_open_1): Update. + 2013-08-14 Tom Tromey * remote.c (struct remote_state) : diff --git a/gdb/remote.c b/gdb/remote.c index de74d819d4..6c12949634 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -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. */ -- 2.34.1