首页
社区
课程
招聘
Mac平台opt 加载pass出错

Mac平台上 Xcode12.5版本,下载最新的LLVM-project使用下面进行编译,生成Xcode工程,编译了clang、opt

1
cmake -S llvm -B build -G Xcode -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;clang-tools-extra;compiler-rt"

编写了这个pass

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "llvm/Pass.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
namespace {
    struct Kratos :public FunctionPass{
    static char ID;
        Kratos():FunctionPass(ID){}
        bool runOnFunction(Function &F) override{
            errs()<<"Hello:";
            errs().write_escaped(F.getName())<<"\n";
            return  false;
        }
    };
 
}
char Kratos::ID =0;
static RegisterPass<Kratos> X("Kratos","Hello world pass",false,false);

 

 

然后使用编译好的opt加载命令如下, Command+R在Xcode运行

 

出现如下错误
/Users/k/Desktop/llvm/llvm-project/build/Debug/bin/opt: unknown pass name 'Kratos'

 

在网上找了好多次资料,都找不到解决办法,求求大佬看看

收藏
1条回答
34r7hm4n 2021-10-24

不好意思现在才看到这个提问。
Mac平台我也不太熟悉,编译的时候有报错吗?

回复
LLVM与代码混淆技术
  参与学习     324 人
  提问次数     12 个
《LLVM与代码混淆技术》详解3种经典代码混淆方式+2种变体
我的问答 领取收益
0
我的提问
0
我的回答
0
学习收益