19 #include "vt_inttypes.h"
21 #include "rfg_filter.h"
24 #include "BPatch_addressSpace.h"
25 #include "BPatch_function.h"
26 #include "BPatch_image.h"
33 #define STRBUFSIZE 1024
56 : mode(MODE_CREATE), mutatee_pid(-1), verbose_level(1),
57 detach(
true), ignore_no_dbg(
false), show_usage(
false),
58 show_version(
false) {}
63 std::vector<std::string> mutatee_args;
64 std::vector<std::string> shlibs;
67 uint32_t verbose_level;
99 InstFuncS(
const uint32_t & _index,
const std::string & _name,
100 const std::string & _file,
const uint32_t & _lno,
101 const BPatch_Vector<BPatch_point*> *& _entry_points,
102 const BPatch_Vector<BPatch_point*> *& _exit_points )
103 : index( _index ), name( _name ), file( _file ), lno( _lno ),
104 entry_points( _entry_points ), exit_points( _exit_points ) {}
119 const BPatch_Vector<BPatch_point*> * entry_points;
120 const BPatch_Vector<BPatch_point*> * exit_points;
128 bool finalize(
bool & error );
131 bool getFunctions( std::vector<InstFuncS> & instFuncs );
134 bool instrumentFunctionEntry(
const InstFuncS & instFunc );
137 bool instrumentFunctionExit(
const InstFuncS & instFunc );
143 inline bool constraintModule(
const std::string & name )
const;
146 inline bool constraintFunction(
const std::string & name )
const;
149 inline bool isMPI()
const;
152 inline bool findFunction(
const std::string & name,
153 BPatch_function *& func )
const;
159 BPatch_addressSpace * m_appAddrSpace;
162 BPatch_image * m_appImage;
166 BPatch_function * m_vtStartFunc;
167 BPatch_function * m_vtEndFunc;
Definition: rfg_filter.c:24