summaryrefslogtreecommitdiff
path: root/gdb/thread.c
diff options
context:
space:
mode:
authormmetzger <mmetzger>2013-03-11 08:16:58 +0000
committermmetzger <mmetzger>2013-03-11 08:16:58 +0000
commitdbaf4ca0d5082430bed1b81b0a068f5f5c663af1 (patch)
tree202de3153e12adfd0c345afdd9523ac9a0942d70 /gdb/thread.c
parentcaac1820ce47e1fb4fc0a850d90235ed2de9021c (diff)
downloadgdb-dbaf4ca0d5082430bed1b81b0a068f5f5c663af1.tar.gz
Add branch trace information to struct thread_info.
Add functions to enable, disable, clear, and fetch a thread's branch trace. gdb/ * target.h: Include btrace.h. (struct target_ops) <to_supports_btrace, to_enable_btrace, to_disable_btrace, to_teardown_btrace, to_read_btrace>: New. * target.c (target_supports_btrace): New function. (target_enable_btrace): New function. (target_disable_btrace): New function. (target_teardown_btrace): New function. (target_read_btrace): New function. * btrace.h: New file. * btrace.c: New file. * Makefile.in: Add btrace.c. * gdbthread.h: Include btrace.h. (struct thread_info): Add btrace field. * thread.c: Include btrace.h. (clear_thread_inferior_resources): Call target_teardown_btrace. * common/btrace-common.h: New file.
Diffstat (limited to 'gdb/thread.c')
-rw-r--r--gdb/thread.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/thread.c b/gdb/thread.c
index 24e64133351..2a1d7239b31 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -33,6 +33,7 @@
#include "regcache.h"
#include "gdb.h"
#include "gdb_string.h"
+#include "btrace.h"
#include <ctype.h>
#include <sys/types.h>
@@ -116,6 +117,8 @@ clear_thread_inferior_resources (struct thread_info *tp)
bpstat_clear (&tp->control.stop_bpstat);
+ btrace_teardown (tp);
+
do_all_intermediate_continuations_thread (tp, 1);
do_all_continuations_thread (tp, 1);
}