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.h | |
| 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.h')
| -rw-r--r-- | miasm2/jitter/JitCore.h | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/miasm2/jitter/JitCore.h b/miasm2/jitter/JitCore.h index dfa67b6b..312a70d6 100644 --- a/miasm2/jitter/JitCore.h +++ b/miasm2/jitter/JitCore.h @@ -1,7 +1,11 @@ #ifndef JITCORE_H #define JITCORE_H - +#if _WIN32 +#define _MIASM_EXPORT __declspec(dllexport) +#else +#define _MIASM_EXPORT +#endif #define RAISE(errtype, msg) {PyObject* p; p = PyErr_Format( errtype, msg ); return p;} #define RAISE_ret0(errtype, msg) {PyObject* p; p = PyErr_Format( errtype, msg ); return 0;} @@ -46,7 +50,7 @@ while (!bignum_is_zero(bn)) { \ tmp = bignum_to_uint64(bignum_mask(bn, 32)) & 0xffffffff; \ bn = bignum_rshift(bn, 32); \ - py_tmp = PyLong_FromLong(tmp); \ + py_tmp = PyLong_FromUnsignedLong(tmp); \ py_long = PyObject_CallMethod(py_long, "__lshift__", "O", cst_32); \ py_long = PyObject_CallMethod(py_long, "__add__", "O", py_tmp); \ } \ @@ -203,30 +207,25 @@ void Resolve_dst(block_id* BlockDst, uint64_t addr, uint64_t is_local); -uint8_t MEM_LOOKUP_08(JitCpu* jitcpu, uint64_t addr); -uint16_t MEM_LOOKUP_16(JitCpu* jitcpu, uint64_t addr); -uint32_t MEM_LOOKUP_32(JitCpu* jitcpu, uint64_t addr); -uint64_t MEM_LOOKUP_64(JitCpu* jitcpu, uint64_t addr); - -bn_t MEM_LOOKUP_BN_BN(JitCpu* jitcpu, int size, bn_t addr); -bn_t MEM_LOOKUP_INT_BN(JitCpu* jitcpu, int size, uint64_t addr); +_MIASM_EXPORT uint8_t MEM_LOOKUP_08(JitCpu* jitcpu, uint64_t addr); +_MIASM_EXPORT uint16_t MEM_LOOKUP_16(JitCpu* jitcpu, uint64_t addr); +_MIASM_EXPORT uint32_t MEM_LOOKUP_32(JitCpu* jitcpu, uint64_t addr); +_MIASM_EXPORT uint64_t MEM_LOOKUP_64(JitCpu* jitcpu, uint64_t addr); -uint64_t MEM_LOOKUP_BN_INT(JitCpu* jitcpu, int size, bn_t addr); +_MIASM_EXPORT bn_t MEM_LOOKUP_BN_BN(JitCpu* jitcpu, int size, bn_t addr); +_MIASM_EXPORT bn_t MEM_LOOKUP_INT_BN(JitCpu* jitcpu, int size, uint64_t addr); -void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); -void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); -void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); -void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); +_MIASM_EXPORT uint64_t MEM_LOOKUP_BN_INT(JitCpu* jitcpu, int size, bn_t addr); -void MEM_WRITE_BN_BN(JitCpu* jitcpu, int size, bn_t addr, bn_t src); -void MEM_WRITE_BN_INT(JitCpu* jitcpu, int size, bn_t addr, uint64_t src); -void MEM_WRITE_INT_BN(JitCpu* jitcpu, int size, uint64_t addr, bn_t src); +_MIASM_EXPORT void MEM_WRITE_BN_BN(JitCpu* jitcpu, int size, bn_t addr, bn_t src); +_MIASM_EXPORT void MEM_WRITE_BN_INT(JitCpu* jitcpu, int size, bn_t addr, uint64_t src); +_MIASM_EXPORT void MEM_WRITE_INT_BN(JitCpu* jitcpu, int size, uint64_t addr, bn_t src); PyObject* vm_get_mem(JitCpu *self, PyObject* args); -void MEM_LOOKUP_INT_BN_TO_PTR(JitCpu* jitcpu, int size, uint64_t addr, char* ptr); -void MEM_WRITE_INT_BN_FROM_PTR(JitCpu* jitcpu, int size, uint64_t addr, char* ptr); +_MIASM_EXPORT void MEM_LOOKUP_INT_BN_TO_PTR(JitCpu* jitcpu, int size, uint64_t addr, char* ptr); +_MIASM_EXPORT void MEM_WRITE_INT_BN_FROM_PTR(JitCpu* jitcpu, int size, uint64_t addr, char* ptr); |