【问题标题】:Link error while compiling llvm with a new optimization pass使用新的优化通道编译 llvm 时出现链接错误
【发布时间】:2014-10-04 14:53:43
【问题描述】:

我编写了一个新的 LLVM 优化通道。我通过在以下位置创建一个新目录来添加此通行证: llvm/lib/Transform/AddSub

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

但在编译时出现链接错误。可能是我的 build 和 makefile 设置不正确。

在创建共享对象时,不能使用针对未定义符号 `_ZTVN12_GLOBAL__N_18AddSubE' 的重定位 R_X86_64_PC32;用 -fPIC 重新编译

如果我编写了一个独立的 llvm 通行证并将其添加到 llvm 内的新目录中: llvm/lib/变换/

在编写独立通行证时,我需要进行哪些 Makefile 或构建更改?

【问题讨论】:

  • 您是否尝试过使用-fPIC 构建与位置无关的代码?
  • 我尝试使用 -fPIC 选项进行制作,但构建失败并出现相同的链接错误。

标签: llvm llvm-ir


【解决方案1】:

我在尝试遵循编写 LLVM 通行证指南时遇到了同样的错误。对我来说,修复是添加这样的一行:

char MyPassName::ID = 0;

(我已经跳过了指示的那一步。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 2015-04-05
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多