about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2018-07-18 08:17:46 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2018-07-18 08:17:46 +0200
commit7c519fe7b3088adffd15d6bbbbd34f53f69cb862 (patch)
tree02f54dfed01e582baaa0d01bee1bfa32546bae65
parent39586f91cf2c67e52156024dc61b75c2a3af1abd (diff)
downloadmiasm-7c519fe7b3088adffd15d6bbbbd34f53f69cb862.tar.gz
miasm-7c519fe7b3088adffd15d6bbbbd34f53f69cb862.zip
Arm/arch: fix set dst for conditional call
-rw-r--r--miasm2/arch/arm/arch.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/miasm2/arch/arm/arch.py b/miasm2/arch/arm/arch.py
index 82664476..e25e4911 100644
--- a/miasm2/arch/arm/arch.py
+++ b/miasm2/arch/arm/arch.py
@@ -420,6 +420,8 @@ class instruction_arm(instruction):
 
 
     def dstflow(self):
+        if self.is_subcall():
+            return True
         return self.name in conditional_branch + unconditional_branch
 
     def dstflow2label(self, loc_db):
@@ -434,6 +436,8 @@ class instruction_arm(instruction):
         self.args[0] = ExprLoc(loc_key, expr.size)
 
     def breakflow(self):
+        if self.is_subcall():
+            return True
         if self.name in conditional_branch + unconditional_branch:
             return True
         if self.name.startswith("LDM") and PC in self.args[1].args: