diff options
| author | Galen Williamson <galen@vector35.com> | 2025-01-17 19:35:56 -0500 |
|---|---|---|
| committer | Galen Williamson <galen@vector35.com> | 2025-01-17 19:35:56 -0500 |
| commit | 13e8a11adf4910c8871eb80a84f080652f76e72b (patch) | |
| tree | 11d233355e243739a3be916ac788e9f5d9089143 | |
| parent | 1699c71999d29d32aba5c9f8fea193a661a4b02b (diff) | |
[thumb2] Fix #6328: "Invalid intrinsic lifting for MRS instruction: destination register incorrectly specified" by correctly specifying the intrinsic outputs
| -rw-r--r-- | arch/armv7/thumb2_disasm/il_thumb2.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/armv7/thumb2_disasm/il_thumb2.cpp b/arch/armv7/thumb2_disasm/il_thumb2.cpp index 8f9e9bab..e7b783a9 100644 --- a/arch/armv7/thumb2_disasm/il_thumb2.cpp +++ b/arch/armv7/thumb2_disasm/il_thumb2.cpp @@ -994,7 +994,8 @@ bool GetLowLevelILForThumbInstruction(Architecture* arch, LowLevelILFunction& il break; case armv7::ARMV7_MRS: { - int dest_reg = ReadILOperand(il, instr, 0); + int dest_reg = GetRegisterByIndex(instr->fields[instr->format->operands[0].field0], instr->format->operands[0].prefix); + int intrinsic_id = ARMV7_INTRIN_MRS; il.AddInstruction( |
