summaryrefslogtreecommitdiff
path: root/arch/armv7/arch_armv7.cpp
diff options
context:
space:
mode:
authorRyan Snyder <ryan@vector35.com>2025-03-19 08:21:04 -0400
committerRyan Snyder <ryan@vector35.com>2025-07-03 03:14:45 -0400
commit3bfeb0e19d97c71022bb5c50c2a21e129f675e1b (patch)
tree8a07e07f58a061dae24c79e75a0ee8a8db57f0df /arch/armv7/arch_armv7.cpp
parenta79e605fe6d94c5b55bf686e39529d4e57d8b6c8 (diff)
arm/thumb: signal that returns can switch arch
Diffstat (limited to 'arch/armv7/arch_armv7.cpp')
-rw-r--r--arch/armv7/arch_armv7.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/armv7/arch_armv7.cpp b/arch/armv7/arch_armv7.cpp
index f27a3fb9..a851b5ad 100644
--- a/arch/armv7/arch_armv7.cpp
+++ b/arch/armv7/arch_armv7.cpp
@@ -705,7 +705,10 @@ protected:
if (UNCONDITIONAL(instr.cond))
{
if (instr.operands[0].cls == REG && instr.operands[0].reg == REG_LR)
+ {
result.AddBranch(FunctionReturn);
+ result.archTransitionByTargetAddr = true;
+ }
else
{
result.AddBranch(UnresolvedBranch);