diff --git a/include/plugin_man.h b/include/plugin_man.h index 357dca6cefaedc0315905ec6db352c389c18f1f1..658a4257dd364a9216cc2406af7b0fb08bb6f3fd 100644 --- a/include/plugin_man.h +++ b/include/plugin_man.h @@ -5,10 +5,7 @@ typedef Zipr_SDK::ZiprPluginInterface_t* DLFunctionHandle_t; typedef std::set<DLFunctionHandle_t> DLFunctionHandleSet_t; typedef Zipr_SDK::ZiprPluginInterface_t* (*GetPluginInterface_t)( - Zipr_SDK::MemorySpace_t *p_ms, - ELFIO::elfio *p_elfio, - libIRDB::FileIR_t *p_firp, - Zipr_SDK::InstructionLocationMap_t *p_fil + Zipr_SDK::Zipr_t* ); @@ -21,20 +18,17 @@ class ZiprPluginManager_t : public ZiprPluginInterface_t ZiprPluginManager_t ( - Zipr_SDK::MemorySpace_t *p_ms, - ELFIO::elfio *p_elfio, - libIRDB::FileIR_t *p_firp, - Zipr_SDK::ZiprOptions_t *p_opts, - Zipr_SDK::InstructionLocationMap_t *p_fil + Zipr_SDK::Zipr_t* zipr_obj, + Zipr_SDK::ZiprOptions_t *p_opts ) : - m_verbose("verbose"), - m_opts(p_opts) + m_verbose("verbose"), + m_opts(p_opts) { ZiprOptionsNamespace_t *opts_global_ns = m_opts->Namespace("global"); if (opts_global_ns) opts_global_ns->AddOption(&m_verbose); - open_plugins(p_ms,p_elfio,p_firp,p_opts,p_fil); + open_plugins(zipr_obj, p_opts); } virtual void PinningBegin(); @@ -46,17 +40,14 @@ class ZiprPluginManager_t : public ZiprPluginInterface_t virtual void CallbackLinkingBegin(); virtual void CallbackLinkingEnd(); - virtual bool DoesPluginPlop(libIRDB::Instruction_t*,DLFunctionHandle_t&); + virtual bool DoesPluginPlop(libIRDB::Instruction_t*,DLFunctionHandle_t&); private: void open_plugins ( - Zipr_SDK::MemorySpace_t *p_ms, - ELFIO::elfio *p_elfio, - libIRDB::FileIR_t *p_firp, - Zipr_SDK::ZiprOptions_t *p_opts, - Zipr_SDK::InstructionLocationMap_t *p_fil + Zipr_SDK::Zipr_t* zipr_obj, + Zipr_SDK::ZiprOptions_t *p_opts ); ZiprBooleanOption_t m_verbose; ZiprOptions_t *m_opts; diff --git a/src/plugin_man.cpp b/src/plugin_man.cpp index eab42e0b9176b0e05db87ae1920cbfd963430fec..bdde51fa3d20df5dfb05412c733bca75bc4b8046 100644 --- a/src/plugin_man.cpp +++ b/src/plugin_man.cpp @@ -98,11 +98,8 @@ bool ZiprPluginManager_t::DoesPluginPlop(Instruction_t *insn, DLFunctionHandle_t void ZiprPluginManager_t::open_plugins ( - Zipr_SDK::MemorySpace_t *p_ms, - ELFIO::elfio *p_elfio, - libIRDB::FileIR_t *p_firp, - Zipr_SDK::ZiprOptions_t *p_opts, - Zipr_SDK::InstructionLocationMap_t *p_fil + Zipr_SDK::Zipr_t* zipr_obj, + Zipr_SDK::ZiprOptions_t *p_opts ) { char* zinst=getenv("ZIPR_INSTALL"); @@ -157,9 +154,8 @@ void ZiprPluginManager_t::open_plugins } ZiprOptionsNamespace_t *global_ns = p_opts->Namespace("global"); - GetPluginInterface_t GetPluginInterface=(GetPluginInterface_t)sym; - Zipr_SDK::ZiprPluginInterface_t *interface=(*GetPluginInterface)(p_ms,p_elfio,p_firp,p_fil); - + GetPluginInterface_t my_GetPluginInterface=(GetPluginInterface_t)sym; + Zipr_SDK::ZiprPluginInterface_t *interface=(*my_GetPluginInterface)(zipr_obj); if(!interface) { diff --git a/src/zipr.cpp b/src/zipr.cpp index 3207cfd5f479358132c5d560b9f7b1b696dae351..48dd4ccd9c903361b49d9cfab0ab19a136ff5d05 100644 --- a/src/zipr.cpp +++ b/src/zipr.cpp @@ -109,7 +109,7 @@ void ZiprImpl_t::Init() } } - plugman = ZiprPluginManager_t(&memory_space, elfiop, m_firp, &m_zipr_options, &final_insn_locations); + plugman = ZiprPluginManager_t(this, &m_zipr_options); /* * Parse again now that the plugins registered something.