summaryrefslogtreecommitdiff
path: root/lowlevelilinstruction.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2018-08-14 17:14:44 -0400
committerPeter LaFosse <peter@vector35.com>2018-08-14 17:14:44 -0400
commit1ce780cd6a66a289b0422298871d61392ad3ec2a (patch)
tree1b180e6bce65fd50a757e4f19852de873f83a9e5 /lowlevelilinstruction.cpp
parent454bcf8314833269ae8be9111b2c1035fe8999d6 (diff)
Adding LLIL_RELOC_PTR
Diffstat (limited to 'lowlevelilinstruction.cpp')
-rw-r--r--lowlevelilinstruction.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/lowlevelilinstruction.cpp b/lowlevelilinstruction.cpp
index 5f5dc397..4e0901f3 100644
--- a/lowlevelilinstruction.cpp
+++ b/lowlevelilinstruction.cpp
@@ -171,6 +171,7 @@ unordered_map<BNLowLevelILOperation, vector<LowLevelILOperandUsage>>
{LLIL_MEM_PHI, {DestMemoryVersionLowLevelOperandUsage, SourceMemoryVersionsLowLevelOperandUsage}},
{LLIL_CONST, {ConstantLowLevelOperandUsage}},
{LLIL_CONST_PTR, {ConstantLowLevelOperandUsage}},
+ {LLIL_RELOC_PTR, {ConstantLowLevelOperandUsage}},
{LLIL_FLOAT_CONST, {ConstantLowLevelOperandUsage}},
{LLIL_ADD, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}},
{LLIL_SUB, {LeftExprLowLevelOperandUsage, RightExprLowLevelOperandUsage}},
@@ -2113,6 +2114,8 @@ ExprId LowLevelILInstruction::CopyTo(LowLevelILFunction* dest,
return dest->Const(size, GetConstant<LLIL_CONST>(), *this);
case LLIL_CONST_PTR:
return dest->ConstPointer(size, GetConstant<LLIL_CONST_PTR>(), *this);
+ case LLIL_RELOC_PTR:
+ return dest->ConstPointer(size, GetConstant<LLIL_RELOC_PTR>(), *this);
case LLIL_FLOAT_CONST:
return dest->FloatConstRaw(size, GetConstant<LLIL_FLOAT_CONST>(), *this);
case LLIL_POP:
@@ -2894,6 +2897,12 @@ ExprId LowLevelILFunction::ConstPointer(size_t size, uint64_t val, const ILSourc
}
+ExprId LowLevelILFunction::RelocationPointer(size_t size, uint64_t val, const ILSourceLocation& loc)
+{
+ return AddExprWithLocation(LLIL_RELOC_PTR, loc, size, 0, val);
+}
+
+
ExprId LowLevelILFunction::FloatConstRaw(size_t size, uint64_t val, const ILSourceLocation& loc)
{
return AddExprWithLocation(LLIL_FLOAT_CONST, loc, size, 0, val);