X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftracefile.h;h=9c7fdea72970b386bdaaafb387aa411d58bd1c4b;hb=f3f8ece4b1c77c925d1f1566df0bf632790a4d24;hp=833de5ccd72bfc85d9d73df535228305ba08397b;hpb=7951c4eb08bdb6843989e4dfdddbd7cad5e1fd9c;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tracefile.h b/gdb/tracefile.h index 833de5ccd7..9c7fdea729 100644 --- a/gdb/tracefile.h +++ b/gdb/tracefile.h @@ -1,8 +1,9 @@ #ifndef TRACEFILE_H #define TRACEFILE_H 1 -#include "defs.h" #include "tracepoint.h" +#include "target.h" +#include "process-stratum-target.h" struct trace_file_writer; @@ -85,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); @@ -111,4 +115,22 @@ struct trace_file_writer extern struct trace_file_writer *tfile_trace_file_writer_new (void); +/* 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); + #endif /* TRACEFILE_H */