From 1b9fe8ec6019e2021a2c447e01a9eaf941b561e2 Mon Sep 17 00:00:00 2001 From: jdh8d <jdh8d@git.zephyr-software.com> Date: Thu, 22 Oct 2015 16:14:01 +0000 Subject: [PATCH] Update to call GetPluginInterface properly --- include/plugin_man.h | 27 +++++++++------------------ src/plugin_man.cpp | 12 ++++-------- src/zipr.cpp | 2 +- 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/include/plugin_man.h b/include/plugin_man.h index 357dca6ce..658a4257d 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 eab42e0b9..bdde51fa3 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 3207cfd5f..48dd4ccd9 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. -- GitLab