X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftracefile.h;h=9c7fdea72970b386bdaaafb387aa411d58bd1c4b;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=8b711a115c2fd7197f1ec348d66347ec35fcdbb5;hpb=462f517e5020a464e84d2b8535b1b68d39329dc2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tracefile.h b/gdb/tracefile.h index 8b711a115c..9c7fdea729 100644 --- a/gdb/tracefile.h +++ b/gdb/tracefile.h @@ -2,6 +2,8 @@ #define TRACEFILE_H 1 #include "tracepoint.h" +#include "target.h" +#include "process-stratum-target.h" struct trace_file_writer; @@ -84,6 +86,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 +115,21 @@ 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 process_stratum_target +{ +public: + tracefile_target () = default; + + 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 has_execution (inferior *inf) override { return false; } + bool thread_alive (ptid_t ptid) override; +}; extern void tracefile_fetch_registers (struct regcache *regcache, int regno);