diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2023-12-19 22:39:11 -0700 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2024-01-04 11:02:14 -0700 |
| commit | 0748dfe65398f17064ed744a3d198f144d0aa2c5 (patch) | |
| tree | adde2cf25a4b9812c8322ed326f361b23c1681e5 /rust/src/llil/instruction.rs | |
| parent | e9e5c3e3568351e99c5034e49ae21f0b8d12a4c2 (diff) | |
Support intrinsics in Rust architecture plugins
Diffstat (limited to 'rust/src/llil/instruction.rs')
| -rw-r--r-- | rust/src/llil/instruction.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/rust/src/llil/instruction.rs b/rust/src/llil/instruction.rs index e5ae508b..c9817dbf 100644 --- a/rust/src/llil/instruction.rs +++ b/rust/src/llil/instruction.rs @@ -112,6 +112,7 @@ where InstrInfo::Call(Operation::new(self.function, op)) } LLIL_SYSCALL => InstrInfo::Syscall(Operation::new(self.function, op)), + LLIL_INTRINSIC => InstrInfo::Intrinsic(Operation::new(self.function, op)), _ => { common_info(self.function, op).unwrap_or({ // Hopefully this is a bare value. If it isn't (expression @@ -149,6 +150,12 @@ where } Push(ref op) => visit!(fb, &op.operand()), Call(ref op) => visit!(fb, &op.target()), + Intrinsic(ref _op) => { + // TODO: Use this when we support expression lists + // for expr in op.source_exprs() { + // visit!(fb, expr); + // } + } _ => visit!(common_visit, &info, fb), } @@ -181,6 +188,7 @@ where Goto(Operation<'func, A, M, F, operation::Goto>), Syscall(Operation<'func, A, M, F, operation::Syscall>), + Intrinsic(Operation<'func, A, M, F, operation::Intrinsic>), Bp(Operation<'func, A, M, F, operation::NoArgs>), Trap(Operation<'func, A, M, F, operation::Trap>), Undef(Operation<'func, A, M, F, operation::NoArgs>), |
