diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2014-02-03 11:40:50 +0100 |
---|---|---|
committer | Markus Metzger <markus.t.metzger@intel.com> | 2015-07-02 12:54:20 +0200 |
commit | 9be54cae43929ab989fcd44dfcf8d3313a55f7a0 (patch) | |
tree | 94df2cf071445b2fc70446451ce78b4cb441cded /gdb/btrace.c | |
parent | 010a18a1b12ec6d5219b7e602aa6abe12344dd1a (diff) | |
download | gdb-9be54cae43929ab989fcd44dfcf8d3313a55f7a0.zip gdb-9be54cae43929ab989fcd44dfcf8d3313a55f7a0.tar.gz gdb-9be54cae43929ab989fcd44dfcf8d3313a55f7a0.tar.bz2 |
btrace: store raw btrace data
Store the raw branch trace data that has been read from the target.
This data can be used for maintenance commands as well as for generating
a core file for the "record save" command.
gdb/
* btrace.c (btrace_fetch): Append the new trace data.
(btrace_clear): Clear the stored trace data.
* btrace.h (btrace_thread_info) <data>: New.
* common/btrace-common.h (btrace_data_clear)
(btrace_data_append): New.
* common/btrace-common.c (btrace_data_clear)
(btrace_data_append): New.
Diffstat (limited to 'gdb/btrace.c')
-rw-r--r-- | gdb/btrace.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/btrace.c b/gdb/btrace.c index 561ee7c..87b2601 100644 --- a/gdb/btrace.c +++ b/gdb/btrace.c @@ -1260,6 +1260,10 @@ btrace_fetch (struct thread_info *tp) /* Compute the trace, provided we have any. */ if (!btrace_data_empty (&btrace)) { + /* Store the raw trace data. The stored data will be cleared in + btrace_clear, so we always append the new trace. */ + btrace_data_append (&btinfo->data, &btrace); + btrace_clear_history (btinfo); btrace_compute_ftrace (tp, &btrace); } @@ -1296,6 +1300,7 @@ btrace_clear (struct thread_info *tp) btinfo->end = NULL; btinfo->ngaps = 0; + btrace_data_clear (&btinfo->data); btrace_clear_history (btinfo); } |