【教程】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

若是沒有錯誤,編譯完成了,就不須要上訴段落中的操做。

相關文章
相關標籤/搜索