【教程】ollvm移植到最新的llvm10.0.1或更高版本

环境: ubuntu 14c++

1、准备

一、下载 最新版本的llvm并解压git

https://releases.llvm.org/github

二、下载最新的 ollvm 并解压ubuntu

https://github.com/obfuscator-llvm/obfuscatorui

三、下载Obfuscation.shspa

https://download.csdn.net/download/ab6326795/12917249.net

下载Obfuscation.sh 后 放到llvm-project-10.0.1,code

目录结构以下:orm

----------------------------blog

../ollvm4.0/obfuscator

./llvm-project-10.0.1

    --Obfuscation.sh

---------------------------

chmod后执行 ,

./Obfuscation.sh

执行完成后打印以下:

root@ubuntu:~/soft/ollvm10.0.1# ./Obfuscation.sh 
拷贝ollvm文件和目录...
修改CMakeLists.txt...
修改lib/Transforms/CMakeLists.txt...
修改lib/Transforms/IPO/LLVMBuild.txt...
修改lib/Transforms/LLVMBuild.txt...
修改lib/Transforms/Obfuscation/Flattening.cpp...
修改lib/Transforms/Obfuscation/BogusControlFlow.cpp...
done!
剩下的,请手动修改lib/Transforms/IPO/PassManagerBuilder.cpp ...








四、修改 llvm-project-10.0.1/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp,参考以下:(绿色为须要新插入的代码)

https://github.com/obfuscator-llvm/obfuscator/commit/adbe45b199d4e42400ee646ad62a781f34b07860#

2、编译

在llvm-project-10.0.1目录执行:

# mkdir build 
# cd build 
# cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_CREATE_XCODE_TOOLCHAIN=ON ../llvm 
# make -j7

若是编译过程当中出现“c++: internal compiler error: 已杀死 (program cc1plus)” ,请以下操做:

咱们有时候在ubuntu中安装相关应用,尤为是在嵌入式移动设备上,很容易出现显存不足的状况,好比博主使用的firefly3399的开发板在编译caffe的时候就出现了这个问题,那么下面就给出解决的办法.

1.设置交换空间的大小

  sudo dd if=/dev/zero of=/swapfile bs=64M count=32   

     这里个人count设置的32,由于我以前设置成16依旧有问题,因此建议设置大点,由于后面能够回收这部分空间的

2.建立交换空间文件

  sudo mkswap /swapfile

3.开启交换空间

      sudo swapon /swapfile

 

此时你就能够从新编译你的文件了,当编译完成后,回收这部分临时的交换空间

1.先关闭交换空间

  sudo swapoff /swapfile

2.删除交换空间

  sudo rm /swapfile

本段落引用自:http://www.javashuo.com/article/p-vwjvavbj-t.html

若是没有错误,编译完成了,就不须要上诉段落中的操做。

相关文章
相关标签/搜索