我用的是google's honggfuzz
安装:

apt-get install binutils-dev libunwind-dev clang-4.0 -y
git clone https://github.com/google/honggfuzz
cd honggfuzz
make

测试编译时出错
# 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'?

我谷歌这个错误,但没有人遇到这个。我怎么能解决这个问题?需要什么要求吗?

最佳答案

我遇到了同样的问题。作为一项工作,我在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

09-06 03:45