将DataFlowSanitarizer链接到LLVM IR时发生链接器错误

将DataFlowSanitarizer链接到LLVM IR时发生链接器错误,llvm,llvm-clang,llvm-ir,Llvm,Llvm Clang,Llvm Ir,我在Ubuntu 16.04.2上使用预构建的LLVM/Clang 3.8.0二进制文件,64位。我尝试将一个最小的程序提升到LLVM IR,然后将IR链接到DataflowSanitazer库以生成可执行代码。在第二步中,该过程抛出一系列链接器错误 #include <sanitizer/dfsan_interface.h> #include <assert.h> int main(void) { int i = 1; dfsan_label i_label

我在Ubuntu 16.04.2上使用预构建的LLVM/Clang 3.8.0二进制文件,64位。我尝试将一个最小的程序提升到LLVM IR,然后将IR链接到DataflowSanitazer库以生成可执行代码。在第二步中,该过程抛出一系列链接器错误

#include <sanitizer/dfsan_interface.h>
#include <assert.h>

int main(void) {
  int i = 1;

  dfsan_label i_label = dfsan_create_label("i", 0);
  dfsan_set_label(i_label, &i, sizeof(i));

  return 0;
}
#包括
#包括
内部主(空){
int i=1;
dfsan_label i_label=dfsan_create_label(“i”,0);
dfsan_set_标签(i_标签,&i,sizeof(i));
返回0;
}
clang-c-emit llvm-fsanize=dataflow test2.c-o test2.bc

clang-fsanize=dataflow test2.bc-o test2

/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../../x86_64-linux-gnu/Scrt1.o: 在函数
\u start':(.text+0x20):未定义对
main'的引用
/tmp/test2-c642ef.o:在函数中
dfs$main':
test2.bc:(.text+0x96):未定义对
dfs$dfsan\u create\u label'的引用 test2.bc:(.text+0xeb):未定义对
dfs$dfsan\u set\u标签'
/tmp/test2-c642ef.o:在函数中
dfs$dfsw$dfsan_create_label':
test2.bc:(.text+0x16e):对的未定义引用
dfs$dfsan\u创建\u标签'
/tmp/test2-c642ef.o:在函数中
dfs$dfsw$dfsan_set_label':
test2.bc:(.text+0x1e4):对“dfs$dfsan\u set\u label”的未定义引用
clang-3.8:错误:链接器命令失败,退出代码为1(使用-v执行) 参见调用)

知道我做错了什么吗