From f719d1d5565f7b7b1237b8e183c2985f006fa3e4 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sat, 1 Mar 2025 00:34:12 -0500 Subject: Refactor and fixup MSVC and Itanium RTTI Bunch of misc fixes and performance improvements --- plugins/rtti/itanium.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'plugins/rtti/itanium.h') diff --git a/plugins/rtti/itanium.h b/plugins/rtti/itanium.h index 98fe7052..7fdd23e5 100644 --- a/plugins/rtti/itanium.h +++ b/plugins/rtti/itanium.h @@ -58,7 +58,7 @@ namespace BinaryNinja::RTTI::Itanium { { uint64_t base_type; uint64_t offset_flags; - OffsetFlagsMasks offset_flags_masks; + uint64_t offset_flags_masks; BaseClassTypeInfo(BinaryView *view, uint64_t address); }; @@ -114,9 +114,11 @@ namespace BinaryNinja::RTTI::Itanium { bool checkWritableRData; bool virtualFunctionTableSweep; + std::optional ProcessVFTBaseClassInfo(uint64_t vftAddr, ClassInfo &classInfo); + std::optional ProcessRTTI(uint64_t objectAddr) override; - std::optional ProcessVFT(uint64_t vftAddr, ClassInfo &classInfo) override; + std::optional ProcessVFT(uint64_t vftAddr, ClassInfo &classInfo, std::optional baseClassInfo) override; public: explicit ItaniumRTTIProcessor(const Ref &view, bool useMangled = true, bool checkRData = true, bool vttSweep = true); -- cgit v1.3.1