【发布时间】:2019-08-31 04:08:29
【问题描述】:
我正在尝试使用 libFuzzer 库并通过玩具示例 [1]。
keep-learnings-MacBook-Pro:Ccodeanalysis keep_learning$ cat Fuzzme.cpp
#include <stdint.h>
#include <stddef.h>
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
if (size > 0 && data[0] == 'H')
if (size > 1 && data[1] == 'I')
if (size > 2 && data[2] == '!')
__builtin_trap();
return 0;
}
keep-learnings-MacBook-Pro:Ccodeanalysis keep_learning$ clang++ -fsanitize=address,fuzzer Fuzzme.cpp
ld: file not found: /Library/Developer/CommandLineTools/usr/lib/clang/10.0.1/lib/darwin/libclang_rt.fuzzer_osx.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
keep-learnings-MacBook-Pro:Ccodeanalysis keep_learning$ clang++ --version
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
快速的 Google 搜索向我展示了这个 [2],但除此之外我找不到任何有意义的信息来解决它,因此在此处发布。有人可以告诉我如何解决这个问题吗?提前致谢。
[1]http://llvm.org/docs/LibFuzzer.html#toy-example
[2]https://bugs.llvm.org/show_bug.cgi?id=39794
【问题讨论】: