使用新的优化过程编译llvm时链接错误

时间:2014-10-04 14:53:43

标签: llvm llvm-ir

我写了一个新的LLVM优化通道。我通过在以下位置创建一个新目录来添加此传递: LLVM / LIB /变换/ AddSub

我按照llvm文档中提到的步骤操作: http://llvm.org/docs/WritingAnLLVMPass.html

但是在编译时我会收到链接错误。可能是我的构建和makefile设置不正确。

制作共享对象时,

重定位R_X86_64_PC32对未定义的符号`_ZTVN12_GLOBAL__N_18AddSubE'不能使用;使用-fPIC重新编译

如果我已经编写了一个独立的llvm传递并将其添加到llvm中的新目录中: LLVM / LIB /变换/

在编写独立传递时我需要做什么Makefile或构建更改?

1 个答案:

答案 0 :(得分:0)

当我试图遵循写一个LLVM Pass指南时,我遇到了同样的错误。对我来说,修复是添加这样一行:

char MyPassName :: ID = 0;

(我在方向上跳过了那一步。)