diff options
Diffstat (limited to 'plugins/rtti/plugin.cpp')
| -rw-r--r-- | plugins/rtti/plugin.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/rtti/plugin.cpp b/plugins/rtti/plugin.cpp index 4ec833be..52501efe 100644 --- a/plugins/rtti/plugin.cpp +++ b/plugins/rtti/plugin.cpp @@ -31,9 +31,10 @@ void RTTIAnalysis(const Ref<AnalysisContext>& analysisContext) else { // TODO: We currently only want to check for itanium rtti on non windows platforms + // TODO: This needs to always run. auto processor = RTTI::Itanium::ItaniumRTTIProcessor(view); processor.ProcessRTTI(); - // view->StoreMetadata(VIEW_METADATA_RTTI, processor.SerializedMetadata(), true); + view->StoreMetadata(VIEW_METADATA_RTTI, processor.SerializedMetadata(), true); } } @@ -46,9 +47,12 @@ void VFTAnalysis(const Ref<AnalysisContext>& analysisContext) // TODO: Run for both itanium and ms (depending on platform) auto processor = RTTI::Microsoft::MicrosoftRTTIProcessor(view); processor.ProcessVFT(); + auto itaniumProcessor = RTTI::Itanium::ItaniumRTTIProcessor(view); + itaniumProcessor.ProcessVTT(); view->StoreMetadata(VIEW_METADATA_RTTI, processor.SerializedMetadata(), true); } + void MakeItaniumRTTIHere(Ref<BinaryView> view, uint64_t addr) { auto processor = RTTI::Itanium::ItaniumRTTIProcessor(view); @@ -56,7 +60,6 @@ void MakeItaniumRTTIHere(Ref<BinaryView> view, uint64_t addr) } - extern "C" { BN_DECLARE_CORE_ABI_VERSION |
