diff options
| -rw-r--r-- | README.md | 10 | ||||
| -rw-r--r-- | miasm2/jitter/jitcore_gcc.py | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/README.md b/README.md index 09a5d44e..3d0dda88 100644 --- a/README.md +++ b/README.md @@ -424,10 +424,10 @@ How does it work? Miasm embeds its own disassembler, intermediate language and instruction semantic. It is written in Python. -To emulate code, it uses LibTCC, LLVM, GCC or Python to JIT the intermediate -representation. It can emulate shellcodes and all or parts of binaries. Python -callbacks can be executed to interact with the execution, for instance to -emulate library functions effects. +To emulate code, it uses LibTCC, LLVM, GCC, Clang or Python to JIT the +intermediate representation. It can emulate shellcodes and all or parts of +binaries. Python callbacks can be executed to interact with the execution, for +instance to emulate library functions effects. Documentation ============= @@ -453,6 +453,7 @@ Miasm uses: To enable code JIT, one of the following module is mandatory: * GCC +* Clang * LLVM v3.2 with python-llvm, see below * LibTCC [tinycc (ONLY version 0.9.26)](http://repo.or.cz/w/tinycc.git) @@ -472,6 +473,7 @@ sudo python setup.py install To use the jitter, GCC, TCC or LLVM is recommended * GCC (any version) +* Clang (any version) * LibTCC needs to be configured with the `--disable-static` option * remove `libtcc-dev` from the system to avoid conflicts * clone [TinyCC](http://repo.or.cz/tinycc.git): `git clone http://repo.or.cz/tinycc.git` diff --git a/miasm2/jitter/jitcore_gcc.py b/miasm2/jitter/jitcore_gcc.py index 9fe1264e..0d9d5778 100644 --- a/miasm2/jitter/jitcore_gcc.py +++ b/miasm2/jitter/jitcore_gcc.py @@ -54,7 +54,7 @@ class JitCore_Gcc(JitCore_Cc_Base): inc_dir = ["-I%s" % inc for inc in self.include_files] libs = ["%s" % lib for lib in self.libs] - args = ["gcc"] + ["-O3"] + [ + args = ["cc"] + ["-O3"] + [ "-shared", "-fPIC", fname_in, '-o', fname_tmp] + inc_dir + libs check_call(args) # Move temporary file to final file |