我正在使用google's honggfuzz。
安装:
apt-get install binutils-dev libunwind-dev clang-4.0 -y
git clone https://github.com/google/honggfuzz
cd honggfuzz
make
我测试错误地编译examples/libxml2
# hfuzz-clang persistent-xml2.c -o fuzz_xml
clang (LLVM option parsing): Unknown command line argument '-sanitizer-coverage-prune-blocks=0'. Try: 'clang (LLVM option parsing) -help'
clang (LLVM option parsing): Did you mean '-sanitizer-coverage-level=0'?
我用Google搜索了此错误,但没有人遇到这个错误。我该如何解决?需要一项要求吗?
答案 0 :(得分:1)
我遇到了同样的问题。为了解决这一问题,我在honggfuzz/hfuzz_cc/hfuzz-cc.c
中注释了以下几行:
// args[(*j)++] = "-mllvm"; // forward next arg to LLVM's option processing
// args[(*j)++] = "-sanitizer-coverage-prune-blocks=0";
从this comment的-sanitizer-coverage-prune-blocks=0
选项关闭性能优化,但不影响honggfuzz使用的代码覆盖率统计信息:
我们实现了此选项,因为它不会改变覆盖范围的精度,但会减少多达1/3的检测量