about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAjax <commial@gmail.com>2018-05-18 16:35:15 +0200
committerAjax <commial@gmail.com>2018-05-18 16:35:15 +0200
commitdfa6a23894f6d6bf37336490db214b557bc5a50c (patch)
treee36581da44c8db2f27e8323ce7862d1d9f3b90a1
parentf45613e84c4de409342d1b971e7ce0234173ffc4 (diff)
downloadmiasm-dfa6a23894f6d6bf37336490db214b557bc5a50c.tar.gz
miasm-dfa6a23894f6d6bf37336490db214b557bc5a50c.zip
LLVM: check all CPU exceptions after instruction execution
-rw-r--r--miasm2/jitter/llvmconvert.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py
index 2b0f2702..dd3afed6 100644
--- a/miasm2/jitter/llvmconvert.py
+++ b/miasm2/jitter/llvmconvert.py
@@ -1056,6 +1056,9 @@ class LLVMFunction():
             self.builder.call(fc_ptr, [self.local_vars["vmmngr"]])
             self.check_memory_exception(next_instr, restricted_exception=False)
 
+        if attrib.set_exception:
+            self.check_cpu_exception(next_instr, restricted_exception=False)
+
         if attrib.mem_read | attrib.mem_write:
             fc_ptr = self.mod.get_global("reset_memory_access")
             self.builder.call(fc_ptr, [self.local_vars["vmmngr"]])