Неопределенная ссылка LLVM на llvm::createDemoteRegisterToMemoryPass

Я работаю над 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.
Я буду очень признателен, если кто-нибудь сможет мне помочь.


person Andy Wang    schedule 17.03.2016    source источник


Ответы (1)


В файле lib/Transforms/Obfuscation/LLVMBuild.txt добавьте следующую строку:

required_libraries = Скаляр

или если у вас уже есть требуемые_библиотеки в этом файле, просто добавьте Scalar в библиотеки после пробела

person wvoquine    schedule 17.03.2016