about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2022-01-27 07:46:09 +0100
committerGitHub <noreply@github.com>2022-01-27 07:46:09 +0100
commit895996eb537bfddc0b2c928037c3f23ea7107c06 (patch)
tree447f2b35393e2dec94d42ac461e57ce8cfe902fe
parent3f3385ef21df3d108d573bcf8d299b645eff8c91 (diff)
parentfedc480bfac996797ef53fa638d48b4017bf2cbf (diff)
downloadfocaccia-miasm-895996eb537bfddc0b2c928037c3f23ea7107c06.tar.gz
focaccia-miasm-895996eb537bfddc0b2c928037c3f23ea7107c06.zip
Merge pull request #1412 from serpilliere/fix_pickle
Fix delayslot to support pickle
-rw-r--r--miasm/arch/aarch64/arch.py1
-rw-r--r--miasm/arch/arm/arch.py2
-rw-r--r--miasm/arch/mep/arch.py5
-rw-r--r--miasm/arch/mips32/arch.py2
-rw-r--r--miasm/arch/msp430/arch.py1
-rw-r--r--miasm/arch/ppc/arch.py1
-rw-r--r--miasm/arch/sh4/arch.py1
-rw-r--r--miasm/arch/x86/arch.py1
-rw-r--r--miasm/core/cpu.py1
9 files changed, 2 insertions, 13 deletions
diff --git a/miasm/arch/aarch64/arch.py b/miasm/arch/aarch64/arch.py
index f05a0a15..0ade16bf 100644
--- a/miasm/arch/aarch64/arch.py
+++ b/miasm/arch/aarch64/arch.py
@@ -316,7 +316,6 @@ class aarch64_arg(m_arg):
 
 class instruction_aarch64(instruction):
     __slots__ = []
-    delayslot = 0
 
     def __init__(self, *args, **kargs):
         super(instruction_aarch64, self).__init__(*args, **kargs)
diff --git a/miasm/arch/arm/arch.py b/miasm/arch/arm/arch.py
index 7b07387c..5ccf5eca 100644
--- a/miasm/arch/arm/arch.py
+++ b/miasm/arch/arm/arch.py
@@ -345,7 +345,6 @@ class additional_info(object):
 
 class instruction_arm(instruction):
     __slots__ = []
-    delayslot = 0
 
     def __init__(self, *args, **kargs):
         super(instruction_arm, self).__init__(*args, **kargs)
@@ -577,7 +576,6 @@ class instruction_arm(instruction):
 
 class instruction_armt(instruction_arm):
     __slots__ = []
-    delayslot = 0
 
     def __init__(self, *args, **kargs):
         super(instruction_armt, self).__init__(*args, **kargs)
diff --git a/miasm/arch/mep/arch.py b/miasm/arch/mep/arch.py
index 67dd5288..ed7813ca 100644
--- a/miasm/arch/mep/arch.py
+++ b/miasm/arch/mep/arch.py
@@ -58,11 +58,6 @@ class instruction_mep(instruction):
         - it must be implemented !
     """
 
-    # Default delay slot
-    # Note:
-    #   - mandatory for the miasm Machine
-    delayslot = 0
-
     @staticmethod
     def arg2str(expr, pos=None, loc_db=None):
         """Convert mnemonics arguments into readable strings according to the
diff --git a/miasm/arch/mips32/arch.py b/miasm/arch/mips32/arch.py
index 3d4aa356..76ebe730 100644
--- a/miasm/arch/mips32/arch.py
+++ b/miasm/arch/mips32/arch.py
@@ -54,10 +54,10 @@ br_2 = ['BEQ', 'BEQL', 'BNE', 'BNEL']
 
 class instruction_mips32(cpu.instruction):
     __slots__ = []
-    delayslot = 1
 
     def __init__(self, *args, **kargs):
         super(instruction_mips32, self).__init__(*args, **kargs)
+        self.delayslot = 1
 
 
     @staticmethod
diff --git a/miasm/arch/msp430/arch.py b/miasm/arch/msp430/arch.py
index dbe93fd2..417511fa 100644
--- a/miasm/arch/msp430/arch.py
+++ b/miasm/arch/msp430/arch.py
@@ -97,7 +97,6 @@ class additional_info(object):
 
 class instruction_msp430(instruction):
     __slots__ = []
-    delayslot = 0
 
     def dstflow(self):
         if self.name.startswith('j'):
diff --git a/miasm/arch/ppc/arch.py b/miasm/arch/ppc/arch.py
index d4edc58e..a1bde2a6 100644
--- a/miasm/arch/ppc/arch.py
+++ b/miasm/arch/ppc/arch.py
@@ -69,7 +69,6 @@ class additional_info(object):
 
 
 class instruction_ppc(instruction):
-    delayslot = 0
 
     def __init__(self, *args, **kargs):
         super(instruction_ppc, self).__init__(*args, **kargs)
diff --git a/miasm/arch/sh4/arch.py b/miasm/arch/sh4/arch.py
index 3bf5049b..76489aee 100644
--- a/miasm/arch/sh4/arch.py
+++ b/miasm/arch/sh4/arch.py
@@ -400,7 +400,6 @@ class additional_info(object):
 
 class instruction_sh4(instruction):
     __slots__ = []
-    delayslot = 0
 
     def __init__(self, *args, **kargs):
         super(instruction_sh4, self).__init__(*args, **kargs)
diff --git a/miasm/arch/x86/arch.py b/miasm/arch/x86/arch.py
index ae58e69b..dabd0c82 100644
--- a/miasm/arch/x86/arch.py
+++ b/miasm/arch/x86/arch.py
@@ -465,7 +465,6 @@ class additional_info(object):
 
 class instruction_x86(instruction):
     __slots__ = []
-    delayslot = 0
 
     def __init__(self, *args, **kargs):
         super(instruction_x86, self).__init__(*args, **kargs)
diff --git a/miasm/core/cpu.py b/miasm/core/cpu.py
index fac03248..7a1cacff 100644
--- a/miasm/core/cpu.py
+++ b/miasm/core/cpu.py
@@ -987,6 +987,7 @@ class instruction(object):
         self.offset = None
         self.l = None
         self.b = None
+        self.delayslot = 0
 
     def gen_args(self, args):
         out = ', '.join([str(x) for x in args])