aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2013-06-07 00:19:36 +0000
committerYao Qi <yao@codesourcery.com>2013-06-07 00:19:36 +0000
commitaef525cb15cdf95759c015cf237d6337407aa47a (patch)
treea2c9fc37b466e36720b24c3e3d786993ba4b89f2 /gdb
parent21d6c799a732f0a8b78d701d9b055508664389f6 (diff)
downloadgdb-aef525cb15cdf95759c015cf237d6337407aa47a.zip
gdb-aef525cb15cdf95759c015cf237d6337407aa47a.tar.gz
gdb-aef525cb15cdf95759c015cf237d6337407aa47a.tar.bz2
gdb/
* 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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/ctf.c2
-rw-r--r--gdb/remote.c2
-rw-r--r--gdb/tracepoint.c21
-rw-r--r--gdb/tracepoint.h1
5 files changed, 31 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 102054b..b8a5b85 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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,
diff --git a/gdb/ctf.c b/gdb/ctf.c
index 13df089..278f950 100644
--- 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.
diff --git a/gdb/remote.c b/gdb/remote.c
index 24d10f2..080d048 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -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. */
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index d6ff051..5bad3e8 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -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
diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h
index d7ebc16..3b09ca8 100644
--- a/gdb/tracepoint.h
+++ b/gdb/tracepoint.h
@@ -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);