LLVM对llvm :: createDemoteRegisterToMemoryPass的未定义引用

时间:2016-03-17 08:45:04

标签: llvm obfuscation llvm-clang llvm-ir llvm-gcc

我正在使用OLLVM(https://github.com/obfuscator-llvm/obfuscator),这是一个基于LLVM的混淆项目。当我尝试在我自己的传递中使用reg2mem传递时,我收到上面的错误消息。代码就像打击一样。

struct MyPass : public FunctionPass {
    static char ID;
    MyPass():FunctionPass(ID) {}
    bool runOnFunction(Function &F);
};

bool MyPass::runOnFunction(Function &F) {
    FunctionPass *regPass = createDemoteRegisterToMemoryPass();
    regPass->runOnFunction(F);
    return false;
}  

我按照github wiki的说法构建了整个项目 如果有人能帮助我,我会非常感激。

1 个答案:

答案 0 :(得分:0)

在文件lib / Transforms / Obfuscation / LLVMBuild.txt中添加以下行:

required_libraries = Scalar

或者如果你已经在该文件中有required_libraries,只需在空格后将标量添加到libs