clang - 使用 LLVM LibFuzzer 时, 'edge' 中的值 'fsantize-coverage=edge' 无效

标签 clang llvm fuzzing

http://llvm.org/docs/LibFuzzer.html 我现在正在使用 libfuzzer 做一些工作,但是当我使用官方玩具示例时。当我运行这个命令时:

clang++ -fsanitize=address -fsanitize-coverage=edge test-fuzzer.cc Fuzzer*.o

发生错误

clang: error: invalid value 'edge' in 'fsanitize-coverage=edge'

似乎 clang 支持这个论点,但我想知道如何才能看到支持什么值...... 我通过 apt-get 使用 unbuntu14.04 安装了 llvm 3.6...

最佳答案

fsanitize-coverage= 标志的语法已更改,如 this commit message 中所述。从 2015 年 5 月开始。这一点与您特别相关:

Original semantics of -fsanitize-coverage flag is preserved:
  * -fsanitize-coverage=0 disables the coverage
  * -fsanitize-coverage=1 is a synonym for -fsanitize-coverage=func
  * -fsanitize-coverage=2 is a synonym for -fsanitize-coverage=bb
  * -fsanitize-coverage=3 is a synonym for -fsanitize-coverage=edge
  * -fsanitize-coverage=4 is a synonym for -fsanitize-coverage=edge,indirect-calls

所以您可以尝试-fsanitize-coverage=3

关于clang - 使用 LLVM LibFuzzer 时, 'edge' 中的值 'fsantize-coverage=edge' 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436249/

相关文章:

clang - 使用 LLVM LibFuzzer 时 'edge' 中的无效值 'fsantize-coverage=edge'

c++ - 如何停止有关未使用的私有(private)字段的警告?

macos - 如何在 OSX 上使用 clang 线程 sanitizer ?

c++ - 如何使用 clang 和选项 -std=c++11 编译项目,使用 autotools

c - Dlang LLVM 错误 : Program used external function which could not be resolved

python - sqlite 的子进程、编码和日志记录问题

ios - XCode 未定义引用

c++ - 段错误 : 11 when iterating over arguments of argv

c++ - 在 LLVM 中,如何插入/声明具有可变数量参数的函数?

python - 如何创建跳过某些种子的增强型 AFL 模糊器?