]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb/
authorYao Qi <yao@codesourcery.com>
Fri, 7 Jun 2013 00:19:36 +0000 (00:19 +0000)
committerYao Qi <yao@codesourcery.com>
Fri, 7 Jun 2013 00:19:36 +0000 (00:19 +0000)
* tracepoint.c (start_tracing): Move code to ...
(trace_reset_local_state): ... here.  New.
(disconnect_tracing): Don't call set_current_traceframe,
set_tracepoint_num, and set_traceframe_context. Call
trace_reset_local_state instead.
(tfile_close): Call trace_reset_local_state.
* ctf.c (ctf_close): Likewise.
* remote.c (remote_close): Likewise.
* tracepoint.h (trace_reset_local_state): Declare.

gdb/ChangeLog
gdb/ctf.c
gdb/remote.c
gdb/tracepoint.c
gdb/tracepoint.h

index 102054bb451f61123e42ba5c7340f272c18424c5..b8a5b85d1b59b41ee22ca193b0d952d24d5bfb8f 100644 (file)
@@ -1,3 +1,15 @@
+2013-06-07  Yao Qi  <yao@codesourcery.com>
+
+       * tracepoint.c (start_tracing): Move code to ...
+       (trace_reset_local_state): ... here.  New.
+       (disconnect_tracing): Don't call set_current_traceframe,
+       set_tracepoint_num, and set_traceframe_context. Call
+       trace_reset_local_state instead.
+       (tfile_close): Call trace_reset_local_state.
+       * ctf.c (ctf_close): Likewise.
+       * remote.c (remote_close): Likewise.
+       * tracepoint.h (trace_reset_local_state): Declare.
+
 2013-06-06  Doug Evans  <dje@google.com>
 
        * dwarf2read.c: Whitespace fixes for DWP file format documentation,
index 13df08986588bad40af7144f6406ea07ef0896ca..278f9503107a3754156a9bd20235bdd8f045fe5c 100644 (file)
--- a/gdb/ctf.c
+++ b/gdb/ctf.c
@@ -1212,6 +1212,8 @@ ctf_close (void)
   ctf_destroy ();
   xfree (trace_dirname);
   trace_dirname = NULL;
+
+  trace_reset_local_state ();
 }
 
 /* This is the implementation of target_ops method to_files_info.
index 24d10f26cc0334b3ea7f7f05959dfa665b0a9b36..080d04859c9b9c9320d318487390545e8876398b 100644 (file)
@@ -3054,6 +3054,8 @@ remote_close (void)
     delete_async_event_handler (&remote_async_inferior_event_token);
 
   remote_notif_unregister_async_event_handler ();
+
+  trace_reset_local_state ();
 }
 
 /* Query the remote side for the text, data and bss offsets.  */
index d6ff051b388e74beeb06de0b5404bccacdb987d7..5bad3e8c74e237e422d6c1092f802250abb76873 100644 (file)
@@ -1700,6 +1700,16 @@ process_tracepoint_on_disconnect (void)
               " GDB is disconnected\n"));
 }
 
+/* Reset local state of tracing.  */
+
+void
+trace_reset_local_state (void)
+{
+  set_traceframe_num (-1);
+  set_tracepoint_num (-1);
+  set_traceframe_context (NULL);
+  clear_traceframe_info ();
+}
 
 void
 start_tracing (char *notes)
@@ -1822,11 +1832,8 @@ start_tracing (char *notes)
   target_trace_start ();
 
   /* Reset our local state.  */
-  set_traceframe_num (-1);
-  set_tracepoint_num (-1);
-  set_traceframe_context (NULL);
+  trace_reset_local_state ();
   current_trace_status()->running = 1;
-  clear_traceframe_info ();
 }
 
 /* The tstart command requests the target to start a new trace run.
@@ -2234,9 +2241,7 @@ disconnect_tracing (void)
      confusing upon reconnection.  Just use these calls instead of
      full tfind_1 behavior because we're in the middle of detaching,
      and there's no point to updating current stack frame etc.  */
-  set_current_traceframe (-1);
-  set_tracepoint_num (-1);
-  set_traceframe_context (NULL);
+  trace_reset_local_state ();
 }
 
 /* Worker function for the various flavors of the tfind command.  */
@@ -4657,6 +4662,8 @@ tfile_close (void)
   trace_fd = -1;
   xfree (trace_filename);
   trace_filename = NULL;
+
+  trace_reset_local_state ();
 }
 
 static void
index d7ebc16e57af9d27e80c29004cab9fc332a3797e..3b09ca8964c8e41c82eeed6569e87eeb1acdf49d 100644 (file)
@@ -389,6 +389,7 @@ extern void merge_uploaded_trace_state_variables (struct uploaded_tsv **utsvp);
 
 extern void query_if_trace_running (int from_tty);
 extern void disconnect_tracing (void);
+extern void trace_reset_local_state (void);
 
 extern void start_tracing (char *notes);
 extern void stop_tracing (char *notes);