diff options
| author | Axel Souchet <0vercl0k@tuxfamily.org> | 2018-09-09 06:11:00 -0700 |
|---|---|---|
| committer | serpilliere <serpilliere@users.noreply.github.com> | 2018-09-09 15:11:00 +0200 |
| commit | 8e6b39d80e9f8db8389bd2a8106d0f64b91c19e9 (patch) | |
| tree | dbf342089690704e89c10532b83d1d81709a49f4 /miasm2/jitter/JitCore.c | |
| parent | e61116884ac7879db08313542c6c28a8b00297c5 (diff) | |
| download | miasm-8e6b39d80e9f8db8389bd2a8106d0f64b91c19e9.tar.gz miasm-8e6b39d80e9f8db8389bd2a8106d0f64b91c19e9.zip | |
Adds Windows support and AppVeyor CI (#835)
* Get miasm to work on Windows, also add AppVeyor CI * Fix gcc jitter on Linux * Make the dse_crackme tests work on Windows * calling build and then install is less confusing than install twice * fix os.rename race condition on Windows * clean it up * Clean up after the unused cl.exe's artifacts * Use is_win instead of an additional check * Fix issue on Windows where 'w' and 'wb' modes are different * Address review feedback * setuptools is actually not required, so reverting
Diffstat (limited to 'miasm2/jitter/JitCore.c')
| -rw-r--r-- | miasm2/jitter/JitCore.c | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/miasm2/jitter/JitCore.c b/miasm2/jitter/JitCore.c index 1b9790d8..a2873d03 100644 --- a/miasm2/jitter/JitCore.c +++ b/miasm2/jitter/JitCore.c @@ -55,27 +55,26 @@ PyObject * JitCpu_set_jitter(JitCpu *self, PyObject *value, void *closure) return 0; } -uint8_t __attribute__((weak)) MEM_LOOKUP_08(JitCpu* jitcpu, uint64_t addr) +uint8_t MEM_LOOKUP_08(JitCpu* jitcpu, uint64_t addr) { - return vm_MEM_LOOKUP_08(&(jitcpu->pyvm->vm_mngr), addr); + return vm_MEM_LOOKUP_08(&(jitcpu->pyvm->vm_mngr), addr); } -uint16_t __attribute__((weak)) MEM_LOOKUP_16(JitCpu* jitcpu, uint64_t addr) +uint16_t MEM_LOOKUP_16(JitCpu* jitcpu, uint64_t addr) { return vm_MEM_LOOKUP_16(&(jitcpu->pyvm->vm_mngr), addr); } -uint32_t __attribute__((weak)) MEM_LOOKUP_32(JitCpu* jitcpu, uint64_t addr) +uint32_t MEM_LOOKUP_32(JitCpu* jitcpu, uint64_t addr) { - return vm_MEM_LOOKUP_32(&(jitcpu->pyvm->vm_mngr), addr); + return vm_MEM_LOOKUP_32(&(jitcpu->pyvm->vm_mngr), addr); } -uint64_t __attribute__((weak)) MEM_LOOKUP_64(JitCpu* jitcpu, uint64_t addr) +uint64_t MEM_LOOKUP_64(JitCpu* jitcpu, uint64_t addr) { return vm_MEM_LOOKUP_64(&(jitcpu->pyvm->vm_mngr), addr); } - bn_t MEM_LOOKUP_BN_BN(JitCpu* jitcpu, int size, bn_t addr) { uint64_t ptr; @@ -156,26 +155,6 @@ void MEM_LOOKUP_INT_BN_TO_PTR(JitCpu* jitcpu, int size, uint64_t addr, char* ptr memcpy(ptr, (char*)&ret, size / 8); } -void __attribute__((weak)) MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src) -{ - vm_MEM_WRITE_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); -} - -void __attribute__((weak)) MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src) -{ - vm_MEM_WRITE_16(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); -} - -void __attribute__((weak)) MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src) -{ - vm_MEM_WRITE_32(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); -} - -void __attribute__((weak)) MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src) -{ - vm_MEM_WRITE_64(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); -} - void MEM_WRITE_BN_BN(JitCpu* jitcpu, int size, bn_t addr, bn_t src) { @@ -200,13 +179,13 @@ void MEM_WRITE_BN_INT(JitCpu* jitcpu, int size, bn_t addr, uint64_t src) switch (size) { case 8: - vm_MEM_WRITE_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, src); + vm_MEM_WRITE_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, (unsigned char)src); break; case 16: - vm_MEM_WRITE_16(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, src); + vm_MEM_WRITE_16(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, (unsigned short)src); break; case 32: - vm_MEM_WRITE_32(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, src); + vm_MEM_WRITE_32(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, (unsigned int)src); break; case 64: vm_MEM_WRITE_64(&((VmMngr*)jitcpu->pyvm)->vm_mngr, ptr, src); @@ -248,7 +227,7 @@ void MEM_WRITE_INT_BN_FROM_PTR(JitCpu* jitcpu, int size, uint64_t addr, char* pt -PyObject* __attribute__((weak)) vm_get_mem(JitCpu *self, PyObject* args) +PyObject* vm_get_mem(JitCpu *self, PyObject* args) { PyObject *py_addr; PyObject *py_len; |