Compared to LLVM 7, LLVM 11 has changed API a lot. Thus this PR contains mostly API changes.
LLVM 11.1.0 is default now and has been tested.
LLVM 12 only works with Ubuntu 20.04. I can only guarantee to compile, testing is not conducted.
Fixed the bug where the instrumented function may be removed by codegen(llc)
When a function has readnone, it guarantees it does not dereference any pointers, and if the return value is not used, the assembly generator may remove that function call. So don't label it as readnone
Added some new input function modeling, ato* and pread64.
Added bind core support, so you can bind the fuzzing process to a certain core.
llc
)readnone
, it guarantees it does not dereference any pointers, and if the return value is not used, the assembly generator may remove that function call. So don't label it asreadnone
ato*
andpread64
.