This adds a target that would consume random binary as an
input ELF file.
TBD: add structured input support (ELF).
Build:
cmake /path/to/llvm-project/llvm -GNinja \ -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=1 \ -DCMAKE_C_COMPILER=<sanitizer-capable clang> \ -DCMAKE_CXX_COMPILER=<sanitizer-capable clang++> \ -DLLVM_ENABLE_PROJECTS="bolt" \ -DLLVM_USE_SANITIZER=Address \ -DLLVM_USE_SANITIZE_COVERAGE=On ninja llvm-bolt-fuzzer
Test Plan: ninja llvm-bolt-fuzzer
clang-format: please reformat the code
-cl::opt<bool> -Lite("lite", - cl::desc("skip processing of cold functions"), - cl::init(false), - cl::ZeroOrMore, - cl::cat(BoltCategory)); +cl::opt<bool> Lite("lite", cl::desc("skip processing of cold functions"), + cl::init(false), cl::ZeroOrMore, cl::cat(BoltCategory));