From 19b9b724623256b7ff6412a37f8919641e585c96 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 14 Aug 2013 18:15:00 +0000 Subject: move use_threadinfo_query and use_threadextra_query into struct remote_state This moves the use_threadextra_query and use_threadinfo_query globals into remote_state. * remote.c (struct remote_state) : New fields. (remote_threads_info, remote_threads_extra_info) (remote_open_1): Update. --- gdb/remote.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'gdb/remote.c') diff --git a/gdb/remote.c b/gdb/remote.c index ccc87b3c8a5..780a1be0658 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -391,6 +391,16 @@ struct remote_state char *finished_object; char *finished_annex; ULONGEST finished_offset; + + /* Should we try the 'ThreadInfo' query packet? + + This variable (NOT available to the user: auto-detect only!) + determines whether GDB will use the new, simpler "ThreadInfo" + query or the older, more complex syntax for thread queries. + This is an auto-detect variable (set to true at each connect, + and set to false when the target fails to recognize it). */ + int use_threadinfo_query; + int use_threadextra_query; }; /* Private data that we'll store in (struct thread_info)->private. */ @@ -1434,17 +1444,6 @@ show_remote_protocol_Z_packet_cmd (struct ui_file *file, int from_tty, } } -/* Should we try the 'ThreadInfo' query packet? - - This variable (NOT available to the user: auto-detect only!) - determines whether GDB will use the new, simpler "ThreadInfo" - query or the older, more complex syntax for thread queries. - This is an auto-detect variable (set to true at each connect, - and set to false when the target fails to recognize it). */ - -static int use_threadinfo_query; -static int use_threadextra_query; - /* Tokens for use by the asynchronous signal handlers for SIGINT. */ static struct async_signal_handler *async_sigint_remote_twice_token; static struct async_signal_handler *async_sigint_remote_token; @@ -2794,7 +2793,7 @@ remote_threads_info (struct target_ops *ops) } #endif - if (use_threadinfo_query) + if (rs->use_threadinfo_query) { putpkt ("qfThreadInfo"); getpkt (&rs->buf, &rs->buf_size, 0); @@ -2842,7 +2841,7 @@ remote_threads_info (struct target_ops *ops) return; /* Else fall back to old method based on jmetzler protocol. */ - use_threadinfo_query = 0; + rs->use_threadinfo_query = 0; remote_find_new_threads (); return; } @@ -2887,7 +2886,7 @@ remote_threads_extra_info (struct thread_info *tp) return NULL; } - if (use_threadextra_query) + if (rs->use_threadextra_query) { char *b = rs->buf; char *endb = rs->buf + get_remote_packet_size (); @@ -2908,7 +2907,7 @@ remote_threads_extra_info (struct thread_info *tp) } /* If the above query fails, fall back to the old method. */ - use_threadextra_query = 0; + rs->use_threadextra_query = 0; set = TAG_THREADID | TAG_EXISTS | TAG_THREADNAME | TAG_MOREDISPLAY | TAG_DISPLAY; int_to_threadref (&id, ptid_get_tid (tp->ptid)); @@ -4355,8 +4354,8 @@ remote_open_1 (char *name, int from_tty, rs->remote_traceframe_number = -1; /* Probe for ability to use "ThreadInfo" query, as required. */ - use_threadinfo_query = 1; - use_threadextra_query = 1; + rs->use_threadinfo_query = 1; + rs->use_threadextra_query = 1; if (target_async_permitted) { -- cgit v1.2.1