summaryrefslogtreecommitdiff
path: root/plugins/rtti/itanium.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rtti/itanium.h')
-rw-r--r--plugins/rtti/itanium.h6
1 files changed, 4 insertions, 2 deletions
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<BaseClassInfo> ProcessVFTBaseClassInfo(uint64_t vftAddr, ClassInfo &classInfo);
+
std::optional<ClassInfo> ProcessRTTI(uint64_t objectAddr) override;
- std::optional<VirtualFunctionTableInfo> ProcessVFT(uint64_t vftAddr, ClassInfo &classInfo) override;
+ std::optional<VirtualFunctionTableInfo> ProcessVFT(uint64_t vftAddr, ClassInfo &classInfo, std::optional<BaseClassInfo> baseClassInfo) override;
public:
explicit ItaniumRTTIProcessor(const Ref<BinaryView> &view, bool useMangled = true, bool checkRData = true, bool vttSweep = true);