X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftracefile.h;h=47f8bee8f276da9b3eab01cd1c9fc56184869507;hb=9d4a934ce604afea155c39f06834cdbc47e92a6e;hp=8b711a115c2fd7197f1ec348d66347ec35fcdbb5;hpb=462f517e5020a464e84d2b8535b1b68d39329dc2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tracefile.h b/gdb/tracefile.h index 8b711a115c..47f8bee8f2 100644 --- a/gdb/tracefile.h +++ b/gdb/tracefile.h @@ -2,6 +2,7 @@ #define TRACEFILE_H 1 #include "tracepoint.h" +#include "target.h" struct trace_file_writer; @@ -84,6 +85,9 @@ struct trace_file_write_ops void (*write_uploaded_tp) (struct trace_file_writer *self, struct uploaded_tp *tp); + /* Write target description. */ + void (*write_tdesc) (struct trace_file_writer *self); + /* Write to mark the end of the definition part. */ void (*write_definition_end) (struct trace_file_writer *self); @@ -110,7 +114,20 @@ struct trace_file_writer extern struct trace_file_writer *tfile_trace_file_writer_new (void); -extern void init_tracefile_ops (struct target_ops *ops); +/* Base class for tracefile related targets. */ + +class tracefile_target : public target_ops +{ +public: + tracefile_target (); + + int get_trace_status (trace_status *ts) override; + bool has_all_memory () override; + bool has_memory () override; + bool has_stack () override; + bool has_registers () override; + bool thread_alive (ptid_t ptid) override; +}; extern void tracefile_fetch_registers (struct regcache *regcache, int regno);